tryme {
public:
tryme() = default;
tryme(tryme&& rhs) = default;
~tryme() {
std::cout<<"de"<<std::endl;
}
void bark() { std::cout<<"bark"<<std::endl; }
};
int main(int argc, char *argv[]) {
tryme *tp;
{
tryme t;
t.bark();
tp = new tryme(std::move(t));
tp->bark();
}
std::cout<<"scope off"<<std::endl;
delete tp;
}
stdout:
bark
bark
de
scope off
de
Потому что деструктор объекта вызывается всегда
Логично да? Сколько конструкторов столько и деструкторов
Обсуждают сегодня