ヒープが割り当てられているかどうかを示すフラグを設定できるようにしたいクラスがあるので、それ自体を適切にクリーンアップし、スタック上にある場合はそれ自体を削除しようとしません。new問題は...両方とコンストラクターを同時にオーバーライドできないようです。したがって、フラグnewを設定するオーバーロードから、isHeapAllocatedフラグをリセットするコンストラクターに入ります。
void* String8::operator new(size_t size)
{
String8* string = (String8*)malloc(size);
if(string == null)
Exception("allocation fail : no free memory");
string->isHeapAllocated = true;
return string;
}
String8::String8()
{
isHeapAllocated = false;
}
そのnew String8()ため、isHeapAllocatedフラグを設定してから にリセットしfalseます。これを行う方法はありますか?