关于c:从c到c

2次阅读

共计 423 个字符,预计需要花费 2 分钟才能阅读完成。

map

  1. insert 和 emplace 区别,插入构造体时,emplace 比 insert 少一次拷贝结构,举荐应用 emplace
  2. 结构的两种办法

    map[1] = 2
    map.insert(std::pair<int, int>(2, 4));
    map.emplace(2,4)
  3. 操作符重载

    mymap[1] = 2;
    mymap[2] = 3;
    mymap[1] = 4;//mymap.size() == 2
    然而输入 mymap[10] 的值等于 0,同时 size 变成了 3,起因:会调配一个默认值为 0 给新的 key,这个 val 到底是否无效,所以记得用 find 的办法,保障是无效的键值对 
  4. map 之间的赋值,会耗费十分对的资源,map2 = map1,耗时 931 个时钟,map 提供了 swap 办法,不是内存拷贝,malloc 这样的操作,只是把两者指针做替换,只耗费 1 个时钟,后续参考右值。
  5. multiple_map,容许 key 雷同
  6. 容许传入第三个参数,仿函数

    map<int, int, less<int> > mymap;
正文完
 0