class node {
private:
int id;
public:
node(const int _id) : id(_id) {
std::cout << "Node " << id << " constructed\n";
};
~node() {
std::cout << "Node " << id << " DESTROYED\n";
};
};
int main()
{
std::list<node> l;
l.push_back(node(1) );
l.push_back(node(2) );
l.erase(l.begin() );
return 0;
}
Результат:
Node 1 constructed
Node 1 DESTROYED
Node 2 constructed
Node 2 DESTROYED
Node 1 DESTROYED
почему деструктор node 1 вызывается 2 раза?
Здравствуйте, man_555, Вы писали:
В>>Добавь лог в конструктор копирования.
_>Это как?
node(const node& a_node) : id(a_node.id) {
std::cout << "Copy of Node " << id << " constructed\n";
};
Спасибо! Всё понял. Реально запущено