私はクラスを持っている:空のベクターは、現在nullptrに設定されている型へのポインタと同じくらいのスペースを占有していますか?
class Foo{
std::vector<Sprite*> vec;
Sprite* bar = nullptr;
}
は、私は、その後の操作を行います。
Foo zoom;
この時点で、より多くのスペースを占有し、プログラムの実行、で? vecまたはbar?
EDIT:以下の状況で
、私がない場合:このコードで
class Foo{
Sprite* bar1 = nullptr;
Sprite* bar2 = nullptr;
Sprite* bar3 = nullptr;
}
または
class Foo{
std::vector<Sprite*> vec;
}
ベクターは、明らかに、サイズ、容量、および/または実装に必要なその他の要素を保持する必要があります。それは標準によって定義されていません。 – DeiDei
'sizeof(vec)' ... –
Sprite *の有限個数を追跡する必要があったとします.Sprite *は、最大数に0になる可能性があります。ベクトルを使う方が良いでしょうか、スプライト*はnullptrに初期設定... –