Информация об изменениях

Сообщение Re[6]: RAII и исключения в конструкторе от 11.07.2020 10:25

Изменено 11.07.2020 10:32 rg45

Re[6]: RAII и исключения в конструкторе
Здравствуйте, Maniacal, Вы писали:

M>Есть такая книжка хорошая, только не помню как называется, что-то типа "С++ для профессионалов", что-то то там про количество советов было в названии.

M>Конструктор не должен бросать исключений принципиально.

Книжка эта называется Стандарты программирования на C++. 101 Правило и рекомендация.. И речь в ней идет не о конструкторах, а о деструкторах: 51. Деструкторы, функции освобождения ресурсов и обмена не ошибаются.
Re[6]: RAII и исключения в конструкторе
Здравствуйте, Maniacal, Вы писали:

M>Есть такая книжка хорошая, только не помню как называется, что-то типа "С++ для профессионалов", что-то то там про количество советов было в названии.

M>Конструктор не должен бросать исключений принципиально.

Книжка эта называется Стандарты программирования на C++. 101 Правило и рекомендация.. И речь в ней идет не о конструкторах, а о деструкторах: 51. Деструкторы, функции освобождения ресурсов и обмена не ошибаются.

Для конструктора же бросок исключен — самый естественный способ сообщить о невозможности конструирования объекта. Даже оператор new обязан подчистить за собой выделенную память, если в конструкторе возникло исключение. Это в стандарте прописано.