2012-01-26 8 views
0

シンプルです - 私たちがDLLを作成し、静的なランタイムでコンパイルすると、コードではstd :: allocatorから継承する単純なアロケータを作成しますが、私たちはN個の異なるヒープを持つことができますすべてのNヒープにわたってメモリ管理のためにこのライブラリヒープ(アロケータを持つもの)のみを使用しますか?そのようなアロケータを作成する方法は?std :: allocatorから継承を作成する方法とresonableですか?

+0

あなたは標準アロケータが*ステートレス*であることに気づいていますか? –

答えて

0

Windowsでは、で、プライベートヒープを作成できます。 MSDNのheap functionsをご覧ください。しかし、C++標準ライブラリアロケータは、ステートレスインターフェイスを持っています。したがって、同じ型の2つのアロケータは互換性がなければなりません(一方が割り当てたメモリは他方によって解放されます)。

だから、これは実現できますが、std::allocatorではできません。

関連する問題