Если я объявляю временный автоматически удаленный буфер символов, используя
std::auto_ptr<char> buffer(new char[n]);
тогда буфер автоматически удаляется, когда буфер выходит из области видимости. Я бы предположил, что буфер удаляется с помощью delete.
Однако буфер был создан с использованием new [], и, строго говоря, буфер нужно удалить с помощью delete [].
Какая вероятность того, что это несоответствие может вызвать утечку памяти?