動的アロケータを使用する前にコンテナのインスタンスに渡すことを可能にするSTL実装を知っている人はいませんか?動的/状態ベースのアロケータを使用するSTL実装ですか?
シナリオは、多数のプールプールを管理する一般的なメモリアロケータがあり、stl :: vectorのインスタンスごとに異なるメモリプールから各インスタンスを割り当てることです。
標準的なSTL実装の問題は、タイプごとにメモリプールを定義できるということです。つまり、int型のすべてのベクトルが同じプールから割り当てられます。
私はすでに状態を持つもの、つまりこのインスタンスを割り当てたいプールに対して、デフォルトのstl :: allocatorをスワップしましたが、これはstl :: listのようにうまく動作しませんデフォルトのctor
ライブラリに関する理由から、すべてのオブジェクトのctorに有効なプールがないため、ユーザーがstlコンテナを使用する前に 'メモリプールの設定'関数を呼び出す必要があります。
誰かがこの種のものをサポートする実装を見つけましたか?
リストのヘッドノードをコンストラクタに割り当てるMicrosoft STLですか?理想的なSTL実装(読み込みGNU)は、空のコンテナを構築するときにメモリ割り当てを使用しません。 –
マイクロソフトと私の両方のGNUポート(gcc 3.4.1)は両方とも、ctorにヘッドノードを割り当てます。 STLPortはそうではありませんので、これは私の要件をサポートしています。 – user176168