vector

  1. 使用 emplace_back() 而不是 push_back()

两者区别在于底层实现机制不同。push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝或者移动到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素);而 emplace_back()在实现时,则是直接在容器尾部创建这个元素,省去了拷贝或移动元素的过程。

由于 emplace_back() 是 C++ 11 标准新增加的,如果程序要兼顾之前的版本,还是应该使用 push_back()

有序容器 set & map

自定义排序规则

三种方法: 重载 < 、重载 () 、使用 decltype()
https://blog.csdn.net/lv1224/article/details/79789638

迭代器

在迭代器上施加偏移量 std::advance

https://blog.csdn.net/yockie/article/details/46522397