問題タブ [memory-pool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
102 参照

c++ - 割り当てられたインスタンスをホストするさまざまなメモリ プールへのメモリ プール アロケータの結合

ステートレス メモリ プール アロケータ クラスがあります。

背後にあるロジックはget_pool()、T のインスタンスが割り当てられる定義済みの型の特定のメモリ プールを返すことを目的としたメンバー関数の特殊化です。たとえば、次のようになります。

.cpp ファイル:

最後に、.cpp ファイルの get_pool() 関数テンプレートの特殊化があります。

問題は、そのようなテンプレートの特殊化が .cpp コンパイル ユニットでのみ使用可能であり、他のコンパイル ユニットでの使用を妨げることです(関数テンプレートの特殊化の本体が使用できないため、プレースホルダーauto get_pool()のタイプをauto推測できません)。get_pool()

autoそのため、 の戻り値の型としてどうにかして取り除きたいと思いget_pool()ます。

memory_pool私が直面している問題は、主にアロケータ自体が認識していないのサイズに関するものです。とにかく、memory_pool は私の実装でもあるので、必要な採用 (たとえば、さらなるusing宣言やその他の必要なもの) を行うことができます。それのちょうど骨組み: