我有一个 std::map mymap
现在,如果我想向这个 map 中插入值:
std::map <string, string> mymap;
mymap["first"] = "hi";
mymap["third"] = "how r you";
mymap["second"] = "hello";
现在我想遍历这个map并按照sorted(keys)的方式打印出对应的value值:
map<string, string>::iterator itr;
for(itr = mymap.begin(); itr != mymap.end(); itr++)
{
string newline = itr->second;
cout << newline << endl;
}
输出应该是:
hi
hello
how r you
我认为默认情况下,map会按照排序键的方式存储,但是我得到的输出顺序与我输入的顺序相同。我需要为此提供自己的排序函数,还是在迭代map之前需要做其他额外的事情?
file_line
而不是mymap
。我理解这不是实际的代码,因为在填充mymap
时没有将first
加入引号中。 - hmjd