我目前有一个嵌套的map< int, map < int, char > > m;
。我有2个int值作为x,y坐标的键,我保存了一个char m[x][y]='A'. I tried inserting the values into a vector
map&lt;矢量,地图&lt; vector,char&gt; &GT; m;`但是没有用。有没有办法跟踪保存在地图中的字符的顺序?
答案 0 :(得分:1)
有没有办法跟踪保存在地图中的字符的顺序?
是。您可以在插入地图时复制返回的迭代器,并将该迭代器推送到矢量中。推入矢量的元素仍保留在插入顺序中,因此它会跟踪您。或者,您可以只按下char值,具体取决于您要跟踪的内容 - 字符或地图元素。此外,您可能需要根据使用方式存储一对内部和外部迭代器。
请注意,您必须使用std::map::insert
来获取迭代器而不是operator[]
。