Tôi biết rằng tôi phải sử dụng delete []
sau khi tôi sử dụng new []
, vì vậy việc sử dụng auto_ptr
với new []
không phải là một ý tưởng sáng sủa.xóa và xóa [] giống nhau trong Visual C++?
Tuy nhiên, trong khi gỡ lỗi delete []
(sử dụng Visual Studio 2005), tôi nhận thấy rằng các cuộc gọi đi vào một chức năng trông như thế này:
void operator delete[](void * p)
{
RTCCALLBACK(_RTC_Free_hook, (p, 0))
operator delete(p);
}
Điều này có nghĩa, cú pháp []
bị mất trên Visual C++? Nếu vậy, tại sao? Là nó để làm giảm các nhà phát triển từ gánh nặng của việc ghi nhớ cú pháp đúng?
'xóa [] p' KHÔNG tương đương với' toán tử xóa [] (p) '. –