intポインターの配列のサイズを変更したい場合、次のような関数があります。
template<typename T>
static void Resize(T* arr, UINT oldsize, UINT newsize) {
T* ret = new T [newsize];
memcpy(ret, arr, sizeof(arr[0]) * oldsize);
delete[] arr;
arr = ret;
};
「new」キーワードで作成された要素の配列のサイズを変更しようとすると、問題が発生します(クラス内のデータ自体はPODですが)。delete[]はデコンストラクターをトリガーし、新しい配列にポインターを残します。もう存在しないオブジェクト。つまり、オブジェクトが「new」で作成されたとしても、freeコマンドを使用して古い配列を削除することはできませんか?または、各メンバーのデコンストラクターをトリガーせずに、どういうわけか配列を削除しますか?