Weird behaviour with class fields when adding to a std::vector
Your code has undefined behavior. In void set(){ X = 3; cout << “Before, X = ” << X << endl; nodes.push_back(Node()); cout << “After, X = ” << X << endl; } The access to X is really this->X and this is a pointer to the member of the vector. When you do nodes.push_back(Node()); … Read more