2010-02-19 4 views
3

Можно создать дубликат:
C++ new int[0] — will it allocate memory?Динамически выделять массив размером 0

Что должно произойти, когда я это сделать:

int * MakeArray(std::size_t Size) { 
    return new int[ Size ]; 
} 

MakeArray(0); 

Мы имели это из код (с использованием VC++ 2005), а отладочная куча жаловалась на блок памяти размером 0, который не был освобожден. Является ли стандартным возвращать массив размером 0 здесь?

P.S .: Пожалуйста, не говорите мне, чтобы использовать вектор или проверить размер перед распределением, я знаю все это. это не мой код. Мне просто интересно.

ответ

1

Очень похоже на this question. Ответ: он должен работать

+0

Хорошо, не нашел этого. Завершение этого вопроса. –

Смежные вопросы