コンストラクタとデストラクタでstd :: vector型のクラスメンバのstd :: vector :: clear()が呼び出されるコードで、何回も出会うことがあります。コンストラクタとデストラクタのstd :: vector :: clear()
これは必須ですなぜ私は表示されません。
- コンストラクタ - 型のstdのクラスメンバー::ベクトルは、デフォルトでは空であるので、(明確に呼び出す必要はありません)。
- デストラクタ - タイプstd :: vectorのクラスメンバは、オブジェクトの標準破壊の一部として破棄されます。ベクトル破棄の一部として、すべて値オブジェクトが破棄されます(メモリへのヒープポインタが割り当てられている場合、それらは "手動で"削除する必要があります)ので、再度clear()を呼び出す必要はありません。
私は何かお見逃しですか?
nice term、 'voodoo programming' :) – xtofl
nullへのポインタを設定することは、ブードーではなく、デバッグに大きく役立ちます。また、同じポインタを2回削除するのを防ぎますが、誰もこれを実行しません - そうですか? –
何かがある場合は、同じポインタを2回削除したことを知りたいと思っています。偶発的に成功するよりも大声で失敗すること(そしてそれについて調べること)が偶然に成功するよりも良いです(あなたに噛み付くバグをマスキングする) –