Форум программистов, компьютерный форум CyberForum.ru

оператор new и исключение bad_alloc - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.86
Konstantin_D
 Аватар для Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89
21.02.2012, 19:00     оператор new и исключение bad_alloc #1
Оператор new может генерировать исключение bad_alloc, определенное в заголовочном файле <new>.
Означает ли это, что в программу, использующую оператор new обязательно должен быть включен заголовочный файл <new> (#include <new>) ? И что произойдет если <new> не включить, а программа попытается сгенерировать исключение bad_alloc (т.е. создать объект класса bad_alloc) ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.02.2012, 19:00     оператор new и исключение bad_alloc
Посмотрите здесь:

C++ bad_alloc
bad_alloc или bad_alloc() C++
C++ Bad_alloc
std::bad_alloc C++
C++ Ошибка terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
21.02.2012, 23:21     оператор new и исключение bad_alloc #21
Так это же переопределённый виртуальный метод
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
21.02.2012, 23:39     оператор new и исключение bad_alloc #22
оператор typeid возвращает объект (или ссылку на объект, что в данном случае не важно) типа type_info. у него нет виртуальных методов.
Скорее получение этого type_info является виртуальным, когда typeid вызывают с ссылкой на какой-то класс с хотябы одной виртуальной функцией.

Чтобы посмотреть на сообщение стандартного исключения, у него можно позвать функцию what(), которая должна вернуть описание исключения (не путать с типом исключения).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.02.2012, 00:02     оператор new и исключение bad_alloc
Еще ссылки по теме:

C++ Ошибка terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc выделение памяти
Ошибка terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc C++
Необработанное исключение в "0x76fd2eec" Microsoft C++: std::bad_alloc C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16821 / 5242 / 318
Регистрация: 30.03.2009
Сообщений: 14,118
Записей в блоге: 26
22.02.2012, 00:02     оператор new и исключение bad_alloc #23
Ой, про typeid протупил. Я примерно понял, о чём вопрос идёт и только мельком глянул на пост. Почему-то подумал, что там what() написано
Yandex
Объявления
22.02.2012, 00:02     оператор new и исключение bad_alloc
Ответ Создать тему
Опции темы

Текущее время: 06:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru