class AClass
{
// ...
}
〜ダイナミックメモリ割り当てを行わずにクラスのオブジェクトをベクトルに追加するにはどうすればよいですか?
class AnotherClass
{
public:
// ...
void AMethod()
{
// ...
AClass * ac = new AClass(); // Dynamic memory allocation here
m_Objects.push_back(ac);
// ...
}
// ...
private:
// ...
std::vector<AClass *> m_Objects;
// ...
}
私はベクトルm_Objects
にAClass
の新しいオブジェクトを追加したいです。
ダイナミックメモリ割り当てを行わずにこれを行う方法はありますか?
なぜ 'AClass'オブジェクトへのポインタではなく、' AClass'オブジェクトをベクトルに格納しないのですか? (はい、 'vector'の基礎となる記憶域には動的割り当てがありますが、個々の要素には割り当てられません) –
動的メモリ割り当てをしたくない理由はありますか? –
@サンジット:それは非常に望ましいものではないので。メモリリークの原因となることがあります。 – hkBattousai