このフォーラムでポインターのベクトルについて多くのことを読みましたが、ベクトルに格納されているポインターを削除するという考えを理解するのに苦労しています。以下は私の質問です:
オブジェクトの配列を動的に作成するとします
CPoint* dynamic_array;
dynamic_array = new CPoint[30714];
ポインターのベクトルを介して、これらの値を別のクラスのオブジェクトで使用する必要があります
vector<CPoint*> vector_of_pointers;
次に、次を使用して、の要素をdynamic_array
別のクラスのオブジェクトに分割します
Class B{
vector<CPoint*> vector_of_pointers;
public:
void function(CPoint* a){
if (some condition){
vector_of_pointers.push_back(a);
}
};
どこa
からのオブジェクトへのポインタは常にどこにありますかdynamic_array
オブジェクトの必要性がなくなったら、最初に作成した dynamic_array を削除する予定です。
delete[] dynamic_array;
これを行った後でも、ベクトル内の各ポインターを削除する必要がありますか? 必要に応じて、デストラクタで実行できClass B
ますか?
これが単純またはばかげた質問である場合は申し訳ありませんが、私は C++ の初心者であり、アプリケーションにはコンテナーを使用する必要があります。