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

Обработка неудачного вызова конструктора класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите сервис карт с API под C++ http://www.cyberforum.ru/cpp-beginners/thread1113827.html
Ищу сервис карт с API под C++. Чего-то неверотного не жду, если можно будет просто получить кратчайший путь (расстояние в км) по дорогам от одного объекта до другого, имея их адрес или координаты,...
C++ Каким образом программа определяет эффективный угол? Ребят, объясните одну вещь: есть программа на С++,которая вычисляет при каком угле расстояние полета тела будет максимальным, и выводит эти значения.Вот участок кода который это делает: float d,... http://www.cyberforum.ru/cpp-beginners/thread1113805.html
Передача в функцию по ссылке или указателю C++
Гуру C++, как предпочтительнее делать?:) void f1(int &a) { a = 5; } void f2(int * a) {
Задача Создать массив структур, каждая из которых состоит из C++
Задача Создать массив структур, каждая из которых состоит из следующих элементов: факультет, курс, группа, фамилии студентов, экзаменационные оценки. Реализовать запросы, определив: 1)фамилии...
C++ Отлов нажатия клавиш http://www.cyberforum.ru/cpp-beginners/thread1113790.html
Доброго времени суток! Стоит задача при нажатии оперделенной клавиши выполнить действие. Код: #include <windows.h> #include <iostream> #include <tchar.h> #include <conio.h> using...
C++ Чтение бинарного кода из файла Необходимо прочитать бинарный код, синтаксически разделённый на байты (Например: 01000010 00011100 01111011) из файла. С библиотекой fstream знаком, больше интересует корректное прочтение, ибо в... подробнее

Показать сообщение отдельно
0x10
2474 / 1647 / 247
Регистрация: 24.11.2012
Сообщений: 4,068
08.03.2014, 08:51
Цитата Сообщение от eugrita Посмотреть сообщение
Можно ли из него понять создан ли объект g или нет ?
Читаем про оператор new, смотрим какие исключения он бросает http://en.cppreference.com/w/cpp/memory/new/operator_new

Цитата Сообщение от eugrita Посмотреть сообщение
Применение этого например, такое - создание конструктора графа, берущего его параметры из файла
В случае неудачного формата файла конструктор должен (если возможно) отказаться от создания экземпляра класса.
Можно кинуть исключение. Но тут надо помнить, что если из конструктора кидается исключение, то деструктор вызван не будет, что может привести к утечкам памяти.

Цитата Сообщение от eugrita Посмотреть сообщение
Создать статический метод класса - чтения из файла.
возвращающий также успех (true) или неудачу (false).
Пусть он лучше сразу возвращает либо указатель на объект, либо NULL. Где гарантия, что вы будете создавать объект с теми же параметрами, которые уже проверили на корректность?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru