私の知る限り、作成したすべてのものをデストラクタで破棄し、new開いているファイル ストリームやその他のストリームを閉じる必要があります。ただし、C++ の他のオブジェクトについては疑問があります。
std::vectorおよびstd::strings: それらは自動的に破棄されますか?私が次のようなものを持っている場合
std::vector<myClass*>クラスへのポインタの。ベクトル デストラクタが呼び出されるとどうなりますか?
のデストラクタを自動的に呼び出しますmyClassか? または、ベクターのみが破棄されますが、それに含まれるすべてのオブジェクトはメモリ内にまだ存在していますか?クラス内に別のクラスへのポインターがある場合はどうなりますか。たとえば、次のようにします。
class A { ClassB* B; }クラス A は、コードのある時点で破棄されます。クラス B も破棄されますか、それともポインタとクラス B だけがメモリのどこかにまだ存在しますか?