私はthisポストを読んでいましたが、私は明確にしたいのですが、動的に作成されたオブジェクトのメンバー変数を明示的に削除する必要がありますか?メンバー変数のC++デストラクタ?
例えば、私は、2つのメンバ変数を持つ持つクラスを持っている
class pointCloud
{
public:
pointCloud();
void addPoint(int);
point getPoint(int);
private:
int id;
std::vector<point> pointArray;
};
、その後、私は、メインでそれを動的にインスタンスを作成します...
int main()
{
pointCloud* cloud = new pointCloud;
cloud->addPoint(8);
delete cloud;
}
私の理解では、ときということですdelete cloud;
が呼び出されると、 'id'と 'pointArray'変数は自動的にメモリから削除/解放されます。これは正しいです?または、これらのメンバー変数を明示的に削除するデストラクタを作成する必要がありますか?
はい、そうです。デストラクタは、動的に割り当てられたメモリを解放する必要があります – SimpleGuy