Можно ли вызвать деструкор класса из конструктора? [C++]

программирование с++

Напрмер, в конструктор передаются какие-то параметры. Затем там же происходит их проверка, и, если они не прошли её, то как-то сделать нужно так, чтоб объект не создавался/разрушился. Как это можно реализовать?

Примечание:
про исключения както не подумал
Но если в try{} объявлять чёто, то оно разве не удалится при выходе из блока? (тогда придётся static делать, а значит или явно удалять придётся, или оно висеть в памяти будет до конца выполнения программы)
Или я чегото не поонимаю?
Ответы:
Не знаю.
обычно для аварийного завершения объекта используют trow new exception(...)
...
"Или я чегото не поонимаю?" практика  - критерий истины
Можно, но это совсем не то, что вы хотите.
Деструктор из конструктора вызвать нельзя, т.к. по факту, пока выполняется конструктор, экземпляр объекта, как таковой, еще не создался. Поэтому, используются исключения (exceptions), в случае нештатной ситуации, появляется возможность выйти из конструктора, не создавая объект.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.