LINUX.ORG.RU

Исчерпание ресурсов


0

0

void my_new_handler()
{
   int bytes_find = find_some_memory(); 
   if( bytes_find < min_allocation)
          throw bad_alloc();
}

Так вот, для генерации исключения требуется объект, т.е. throw bad_alloc() создаст объект bad_alloc. Будет ли созданно исключение, если объем свободной памяти не достаточен для создания объекта bad_alloc? 

стек и куча разные вещи,

в линукс твою программу вообще убьют если не будет хватать памяти,
даже пикнуть не успеешь.

anonymous
()
Ответ на: комментарий от sdr

> Так вот, для генерации исключения требуется объект Это верно. А верно ли это в твоем случаи. Делаем что-то типа этого и смотрим int main() { try{ int bytes_find = find_some_memory(); if( bytes_find < min_allocation) throw bad_alloc(); } catch(bad_alloc) { return -1; } return 0; }

nil5
()
Ответ на: комментарий от sdr

>Я не спрашивал что будет с моей программой, я спросил будет ли исключение

так тебе же ответили что стек и куча это разные вещи,

объект исключения создается в стеке,
а вот где ты память исчерпал ХЗ

anonymous
()
Ответ на: комментарий от anonymous

> так тебе же ответили что стек и куча это разные вещи

Я понимаю, что это разные вещи. Для меня все стало понятно. Память забить, это как два пальца в сугроб

sdr
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.