map<vector<int>,int> > mymap
我想知道如果地圖中的項目順序可以改變,如果在mymap上沒有做任何事情。也就是說,假設地圖有3對,我叫1 2 3,當我進入地圖絲毫驗證碼:未更改地圖元素的恢復順序始終相同?
for(auto i = mymap.begin();i!=mymap.end();i++)
{
cout<<i->first<<endl; //operator<< is redefenid
}
元素順序返回:3 2 1 後來未做任何使用上面相同的代碼更改地圖我有保證,元素按照與以前相同的順序被訪問(即3 2 1)? (I使用C++ 11)
根據關鍵詞總是有詞彙順序(你不應該改變)。 – Jarod42
@ Jarod42因此,如果我不對容器進行破壞性操作,我保證元素的恢復順序是相同的? – Umbert
@Umbert你想說的是,如果你沒有觸摸地圖中用作鍵的容器,甚至沒有觸及它,那麼它是保證元素恢復的順序是相同的! – Deepanshu