时,C++引用发生变化我不知道该怎么做 - 请告诉我下面的代码有什么问题。我修改了我的代码以将其简化为最简单的条款。有一个std ::向量与一堆MyNode对象。第一步是对这些节点之一的数据元素(数据m_data)进行恒定引用 - 在下面的示例中,在插入第二个节点之前只有一个节点,如下所示:当push_back新元素到std :: vector
const cv::Data& currData = m_nodesVector[currIndex].GetData();
MyNode node(...);
m_nodesVector.push_back(node);
在vector :: push_back调用时,currData的值发生变化!我只是不明白。如何插入一个新的节点向量更改值引用的第一个节点的数据?!请注意,该值在“创建”第二个节点时不会改变 - 但是在插入到std :: vector中之后。我的意思是,我想std :: vector可能会重新洗牌一些内存,但是这不应该改变参考权利?
编译器= VS 2012
谢谢你们。非常感激。