map
- insert和emplace区别,插入结构体时,emplace比insert少一次拷贝构造,推荐使用emplace
构造的两种方法
map[1] = 2 map.insert(std::pair<int, int>(2, 4)); map.emplace(2,4)
操作符重载
mymap[1] = 2; mymap[2] = 3; mymap[1] = 4;//mymap.size() == 2 但是输出mymap[10]的值等于0, 同时size变成了3, 原因:会分配一个默认值为0给新的key, 这个val到底是否有效, 所以记得用find的方法,保证是有效的键值对
- map之间的赋值, 会消耗非常对的资源, map2 = map1,耗时931个时钟, map提供了swap方法, 不是内存拷贝,malloc这样的操作,只是把两者指针做交换,只消耗1个时钟,后续参考右值。
- multiple_map,允许key相同
允许传入第三个参数, 仿函数
map<int, int, less<int> > mymap;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。