Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подключить поток? http://www.cyberforum.ru/cpp-beginners/thread450376.html
Доброго всем времени суток) вот у меня было тут задачка условия такова Разработать программу для вычисления полного количества секунд, прошедших между двумя значениями времени. Значение...
C++ Матрицы В матрице найти сумму парных элементов, которые находятся выше главной диагонали. Если она делится на 3,обнулить побочную диагональ. http://www.cyberforum.ru/cpp-beginners/thread450359.html
C++ Написать класс Binary, который инкрементирует число, записанное в 2-чном виде
Написать класс Binary, который инкрементирует число, записанное в 2-чном виде. Допускаются только числа больше нуля. Ведущих нулей в числе нет. В классе должны быть определены следующие...
Блок схема C++
Программисты помогите с блок схемой, пожалуйста. Нужно у этой задачи сделать блок схему const int N=10; double a; ... int monot_vozrast=0; int monot_ubyv=0; for(int i=0;i<N;i++) { bool...
C++ Перевод времени http://www.cyberforum.ru/cpp-beginners/thread450288.html
Написать программу, которая переводит время из минут и секунд в секунды. Программа должна проверять правильность введенных пользователем данных и в случае, если данные введены не верно выводить...
C++ Как узнать Title одной из запущеный программ? Доброго времени суток всем. Мне необходимо по нажатию на кнопку в моей программе вывести список всех открытых на компьютере программ (окон), считав их Заголовки и выбранное окно сделать актывным,... подробнее

Показать сообщение отдельно
Konstantin_D
14 / 14 / 2
Регистрация: 21.07.2011
Сообщений: 89
21.02.2012, 22:51  [ТС]
Написал следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <typeinfo>
//#include <new>
 
int main()
try{
    double* pd = new double[500000000];
    delete [] pd;
}
catch(std::exception& ex)
{
    std::cout << "exception type: " << typeid(ex).name() << std::endl;
    std::exit(1);
}
Смущает что и с #include<new> и без него результат один - class std::bad_alloc.
Хоть класс bad_alloc и объявлен в заголовочном файле <new> он все равно
доступен в обоих случаях. Мне это кажется странным.
Ожидал либо другое исключение, либо отсутствие исключения (версию nothrow).
Извиняюсь, если вопрос показался глупым.
Всем спасибо.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru