指定された型の配列を内部的に管理するテンプレート クラスを作成しています。このような:
template<typename T>
class Example {
// ...
private:
T* objects; // allocated in c'tor (array), deleted in d'tor
// ...
};
objects
を介してオブジェクトを削除するときに、C++が各オブジェクトのデストラクタを呼び出すかどうか疑問に思っていましたdelete[] objects;
。
私のクラスのオブジェクトには常に適切な値が含まれているわけではないため、これを知る必要があります。そうでない場合はデストラクタを呼び出すべきではありません。
T objects[100]
さらに、の一部として固定サイズの配列を宣言した場合、デストラクタが呼び出されるかどうかを知りたいですExample<T>
。