0

特定のスレッド内のすべてのオブジェクトがスタックのような方法で割り当てられることが保証されているためscoped_ptr、オブジェクトの「カスタム ヒープ」を指定する最も簡単な方法は何scoped_ptrですか?
(例: vectors、deques、strings など)

(これにより、従来のヒープ オーバーヘッドをほぼ完全に回避でき、スタックとほぼ同じ速度でヒープと同じ大きさのプールを取得できます。)

4

1 に答える 1

3

scoped_ptr、および一般的なスマート ポインターは、それらが保持するオブジェクトによって割り当てられたメモリには影響しません。何らかの理由で を持っている場合、が に格納されてscoped_ptr<std::vector<T> >いるという事実は、そのメモリをどこから取得するかとはまったく関係ありません。std::vector<T>*scoped_ptrstd::vector<T>

もちろん、それstd::vector<T>がすでに (他のすべての標準ライブラリ クラスと同様に) RAII 型であり、後でクリーンアップされるという事実は、それらを a に貼り付けることscoped_ptrはまったく無意味であることを意味します。

要するに、あなたが話していることはまったく関係ありませんscoped_ptr。これは、コンテナー クラスに使用するアロケーターに関係しています。あなたは間違った木を吠えています。

于 2012-04-03T02:18:42.070 に答える