1. 如想从容器删除对象,调用remove,remove_if和unique算法后,必须接着调用erase才能真正删除对象,但list的remove,remove_if和unique真的删除掉了对象。sort算法不能用于list,但list可以调用自己的sort成员函数。list自带的排序函数sort (list::sort函数和一个“稳定”排序函数的效果一样)。
2. priority_queue 的优先级与平时的容器刚好相反.
3. vector<M> v; v.push_back(M("name","1234")); push_back只接受一个参数 但用M强制类型转换把参数换成是一个类
从而添加到容器中!!! 不必建立一个对象 赋值 再添加到容器中 对结构也可以
4. vector<vector<int> > 二维数组. 尽量不要把它作为参数传入. 很慢,尤其是有递归的函数.
5. 比较常用的几个算法 for_each(), sort(), unique(), equal(),Generate().
6. 迭代器左闭右开 [ a , b ) 的区间。(这种左闭右开的区间的思想贯穿整个STL)(引用赵大神原话)
sort( a , a + n ); 是对前n个元素排序
sort( a+1 , a + 5 ); 是对a[1],a[2],a[3],a[4]四个元素排序
7. sort(a.begin(),a.end(), greater<int>()); 第三个参数的括号
8. 不要定义了一个vector<int> a之后 就直接出现a[3]这种情况. 多用push_back吧.
9. 很多算法返回的都是一个迭代器,*iterator可能会得到你想要的结果.
10. 仿函数是个好东西,可以令你的算法千变万化.
11.····