std::map tip
作者:互联网
std::map tip 1226
1.map 的底层实现是红黑树,会根据key值自动排序,for循环中要避免对map进行插入删除操作,不然很容易被自动排序导致v取不到插入的值。
#include <iostream>
#include <map>
int main()
{
std::map<std::string, std::string> a{ {"1","1"},{"2","2"},{"3","3"} };
int i = 0;
for (auto v : a)
{
if (v.first == std::string("3"))
a["5"] = "5";
if (v.first == std::string("5"))
a["4"] = "4";//v取到5时插入4,此时在map中,4在5之前,所以4不会再被v取到
i++;
}
std::cout << i;
}
输出:
4
标签:std,map,string,int,tip,插入 来源: https://www.cnblogs.com/orgrice/p/15733638.html