其他分享
首页 > 其他分享> > std::map tip

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