//vector<Node> nodes;
Node& my_ref = nodes[i];
nodes.push_back(Node());
//此时my_ref有可能不再指向之前的nodes[i]了!!!
这是因为在push_back的时候,nodes的内存可能会因为capacity不够而进行重新分配,以至于以前的引用失效。
由此可见,引用的实现也是跟地址(指针)类似的,如果地址改变,引用就会失效。
//vector<Node> nodes;
Node& my_ref = nodes[i];
nodes.push_back(Node());
//此时my_ref有可能不再指向之前的nodes[i]了!!!
这是因为在push_back的时候,nodes的内存可能会因为capacity不够而进行重新分配,以至于以前的引用失效。
由此可见,引用的实现也是跟地址(指针)类似的,如果地址改变,引用就会失效。
转载于:https://my.oschina.net/superpdm/blog/394616