0

クラスにポインタと文字列のマップが含まれているとします。デストラクタでは、ポインターの削除とは別に、マップもクリアする必要がありますか?それとも自動的に行われますか?

4

1 に答える 1

2

(スタックに割り当てた)ようなメンバー変数があるstd::map<>場合、クラスが破棄されるときにそのデストラクタに依存できます。std::map破壊されるとすべてのメモリを解放する標準命令。

ポインタとして宣言し、を使用した場合は、デストラクタでnew使用する必要があります。deleteデストラクタで例外がスローされないように注意してください。メモリ障害が発生する可能性があります。

于 2013-10-16T22:00:00.807 に答える