I know that I am supposed to use delete [] when I used new [], so using auto_ptr with new [] is not such a bright idea.
However, while debugging delete [] (using Visual Studio 2005) I noticed that the call went into a function that looked like this:
void operator delete[]( void * p )
{
RTCCALLBACK(_RTC_Free_hook, (p, 0))
operator delete(p);
}
Does this mean, the [] syntax is lost on Visual C++? If so, why? Is it to relieve the developer from the burden of remembering the right syntax?