Re[2]: operator new, return 0 и MSVC 7
От: Lorenzo_LAMAS  
Дата: 29.04.03 10:58
Оценка:
ГС>Обычная форма new кидает исключение bad_alloc.
ГС>Но если записать:
ГС> int *k_arr = new (std::nothrow) int[UINT_MAX]; // allocation will fail
ГС>то исключения небудет, но перед использованием указатель нужно проверить на NULL.

Это по стандарту так все должно быть. А вот допустим в VC 6.0 по-моему было неправильно — ноль возвращался.

А сгенерить исключение, ну так попробуй так
try{
for(;;)
  int * p = new int[10000000];//:))
  if(!p)break;
}
catch(std::bad_alloc)
{
  //попадешь ли ты сюда?
}
Of course, the code must be complete enough to compile and link.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.