我知道我在使用new []
之後應該使用delete []
,所以使用auto_ptr
與new []
並不是這樣一個好主意。在Visual C++中刪除和刪除[]相同嗎?
然而,在調試delete []
(使用Visual Studio 2005),我注意到,在呼叫進入一個看起來像這樣的功能:
void operator delete[](void * p)
{
RTCCALLBACK(_RTC_Free_hook, (p, 0))
operator delete(p);
}
這是否意味着,在[]
語法失去的Visual C++?如果是這樣,爲什麼?是爲了減輕開發人員記住正確語法的負擔嗎?
`delete [] p`不等於`operator delete [](p)`。 – 2011-05-12 00:38:28