struct A final
{
int a;
void* operator new(size_t size)
{
//
// Is size always equal to sizeof(A) here?
//
return ::operator new(size);
}
void operator delete(void* ptr)
{
::operator delete(ptr);
}
};
int main()
{
for (auto i = 0; i < 100; i++)
{
delete new A;
}
}
我的問題也嵌入在代碼中。傳入A :: operator new()的尺寸是否總是等於sizeof(A)?
C++標準是否保證傳入A :: operator new()的大小總是相同的?
更新: 在這裏,只考慮A是最終的類。
如果A是最後一堂課,怎麼樣? – xmllmx
@xmllmx:C++中沒有這樣的東西 –
請查看帖子。我修改了它。我使結構A最終。 – xmllmx