しないでください!
自動ストレージを使用する...
new
オペレーターは動的割り当て(「ヒープ上」と呼んでいるもの)を実装するように設計されており、独自のアロケーターを提供することはできますが、自動保存期間のオブジェクトのスコープ規則(あなたが何であるか)に従うようにねじることはできません。「スタック上」を呼び出す)。
代わりに、次のように記述します。
MyType myobject; // automatic storage duration
...またはスマートポインタ...
または、動的な保存期間を気にせず、後で手動で破棄することだけを避けたい場合は、スマートポインターを使用します。
std::unique_ptr<MyType> myptr(new myobject()); // unique, dynamic storage duration
std::shared_ptr<MyType> myptr(new myobject()); // shared, dynamic storage duration
これらは両方ともC++11(std::
)とBoost(boost::
)にあります。
...または配置new
?
別のアプローチは新しい配置かもしれませんが、これは暗くて危険な移動経路であり、この段階では絶対にお勧めしません。または、率直に言って、どの段階でも...そして通常は手動で破壊する必要があります。あなたが得るのはキーワードを使うことだけですnew
、それは無意味に思えます。