時,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
謝謝你們。非常感激。