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

Обработка исключений для new - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ рядки http://www.cyberforum.ru/cpp-beginners/thread114457.html
помогите зделать прогу которая сделает выравнивание по правому краю введенного текста для чего в каждой строке использовать функцию WIDE(str.k) Добавлено через 2 часа 33 минуты помогите пожалуйста.
C++ Сортировка C++ Доброго времени суток. Помогите пожалуйста отсортировать массив структур любыми 2-мя способами (сорт. пузырьком, сорт. вставками, сорт. выбора) одним способом сортировка по цене, вторым по номеру. #include <iostream.h> #include <conio.h> struct bd { char name ; float price; float number; } st ; http://www.cyberforum.ru/cpp-beginners/thread114431.html
C++ Производительность
Подскажите, где или что почитать о том, как писать БЫСТРЫЕ программы? (про разработку высоконагруженных программ). Копаюсь в интернете - но нахожу крупицы... И всё бессистемно. Спасибо.
C++ Конструкторы классов
Схематично: class A {public: A() {}//конструктор А . . . //методы класса А } class B: public A {public: B() {}//конструктор B
C++ Массив http://www.cyberforum.ru/cpp-beginners/thread114405.html
Помогите переделать в функцию плз а то не получается( #include <iostream> #include <conio.h> #include <ctime> using namespace std; int main() {
C++ Переполнение стека Хочу полюбопытствовать. Вычитал недавно, что на стек выделяется ограниченная область памяти, и в языке Си это 4 Кб. Вопрос: Если мне нужно будет работать со стеком, и определять его непосредственно через линейный список, то, как мне задать ту грань, за которую бы не позволяла программа пользователю переходить? И еще один: Когда идёт процесс очистки стека, следует освобождать каждый узел, или... подробнее

Показать сообщение отдельно
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
08.04.2010, 22:54     Обработка исключений для new
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Если соблюдать правила хорошего тона можно обойтись и без исключений пример:
C++
1
2
3
4
5
6
7
int main(){
int *p = NULL;
p = new int(0);
if(p==NULL)return -1;
else delete p;
return 0;
}
И к чему это?..
оператор new генерирует исключение std::bad_alloc, тоесть

C++
1
2
Emploee *ptr = new Emploee; // генерирует исключение при нехватки памяти..
if(ptr == 0) ... // Мало вероятно что условие сработает когда либо...
Если охото чтобы new возвращал 0, делайте так..
C++
1
2
   char *ptr = new (nothrow) char; // Вернет 0 при нехватке памяти...
   if(ptr == 0){/*....*/}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru