struct Node{ string name = "default name"; Node(){} vector<Node> children; }; int main() { auto node0 = Node(); auto node1 = Node(); node0.children.push_back(node1); node1.name = "new name"; cout << node0.children[0].name << endl; }
default name
- 値渡し(コピー)が行われているので名前の変更が反映されない