map

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

    map[1] = 2map.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;