T
どのタイプでも、タイプstd::list<T>
は同じ一定のサイズになると想定できますか?明確にするために、私は「メイン」タイプ自体のサイズのみを意味し、それによって割り当てられたメモリのサイズは意味しません。
T
それ自体のサイズは、アロケータを使用して割り当てられたリストノードのサイズにのみ影響するはずだと考えるのは理にかなっているようです。
sizeof(std::list<T>)
ただし、私が考えることができる変動を引き起こす可能性のある2つのことがあります。
std::list
一部のT
インスタンスをstd::list<T>
それ自体に配置することにより、型を「最適化」しようとする標準C++ライブラリ。それは私には悪い考えのように思えます、そしてそれはおそらく標準によって置かれた「一定時間」の要件を破ります。std::list<T>
いくつかのタイプのライブラリスペシャライゼーションを持ち、スペシャライゼーションのサイズが異なる標準C++ 。
(1)や(2)の使い方は考えられませんが、間違っているかもしれません。
私が達成しようと考えているのは、std::list<T>
insideを使用するテンプレートクラスに固定サイズのスライスアロケータを使用することです。
注:これは、さまざまなタイプの分散に関するものであり、さまざまなアロケータの分散に関するものでT
はありません。私はすべてのインスタンス化を明示的に制御し、それらはすべてを使用しstd::allocator
ます。