クラスに文字列がある場合は、メモリが割り当てられます。デストラクタの文字列を破壊する必要がありますか?例えばC++の文字列を破棄する必要がありますか?
class A { string Test; A() { Test = "hello world"; } A(string &name) { Test = name; } ~A() { // do I have to destroy the string here? } }
私は古いc/C++(pre stl)プログラマーで、C++に戻っています。文字列はテンプレートマジックを使って自動的に破壊されますか?
TIA、 デイブ
あなたの例で 'string'は' :: std :: string'に解決されますか? – SingleNegationElimination
興味深いもの(私にとっては)はデストラクタにあります。 C++は、親オブジェクトのコンストラクタが呼び出された後にメンバオブジェクトが破棄されることを保証しますか?どういうわけかこれが起こらないようにすることはできますか? (ちょうど好奇心から離れて、多分あなたはC++標準の関連セクションを引用することができます) –
C++は、あなたのクラスメンバが構築されたのと反対の順序(宣言された順序)で破棄されることを保証します。 C++標準よりも読みやすい説明:http://msdn.microsoft.com/en-us/library/8183zf3x(VS.80).aspx – cgmb