次のようなクラスがあるとしましょう:
class LolClass {
LPWSTR* stuff;
LolClass::LolClass(LPWCHAR lols) {
stuff = new LPWSTR[100];
for (int i = 0; i < 100; i++) {
stuff[i] = new wchar_t[wcslen(lols)+1];
wcsncpy(stuffs[i], lols, wcslen(lols)+1);
}
}
LolClass::~LolClass() {
delete[] stuff;
}
}
だから私が電話したら
LolClass* veryfunny = new LolClass(L"lol!");
それは私を100笑にします、問題は私が電話するときです
delete veryfunny;
ポインター配列は削除されますが、個々の wchar_t は削除されません。wchar_t をループして削除しようとすると、クラッシュし、veryfunny を削除した後でもそれらがまだそこにあるという事実を知っているため、何をすべきかわかりません (私はクラス外のポインターの 1 つを渡すことによってチェックされます)
ありがとう!