Сегодня #quiz на любимую тему всех плюсовиков - утечку памяти.
Исключения в конструкторе представляют особый интерес с точки зрения исследования цикла жизни объекта и на собесах нет-нет да и спросят что-нибудь про исключения в конструкторах. Поэтому в этой теме надо бы разбираться.
Спасибо Сергею Борисову за идею для поста)
Ну а сейчас у меня для вас всего один вопрос. Будет ли в этом коде утечка памяти или нет?
#include <iostream>
#include <stdexcept>
class Bar {
public:
Bar() {
throw std::runtime_error("Error");
}
};
int main() {
Bar *bar = nullptr;
try {
bar = new Bar();
} catch(...) {
std::cout << "Houston, we have a problem" << std::endl;
}
}
Challenge yoursef. Stay cool