1.容易不小心写错的几个运算符
赋值 = 判断 ==
条件与 && 位与 &
条件或 || 位或 |
2.vector的insert方法
如果想要把vec1追加到vec2的末尾,却不小心写成vec2.insert(vec2.end(),vec2.begin(),vec2.end());
就会吧原先vec2的内容再复制一遍,正确的写法是vec2.insert(vec2.end(),vec1.begin(),vec1.end());
3.注意边界条件是否周全
eg. < 的另一面是 >=,注意不要漏掉等于
4.时刻注意数组是否判断了越界
5.注意printf打印的格式,不要把float变量用%d打印。
6.注意变量类型能表示的数字范围,eg.不要用uint8_t类型去表示可能大于255的变量
7.函数常引用返回的值也要用常引用接收,如果用常量接受也还是会产生拷贝开销。
8.多线程操作同一全局变量要加锁。
9.在用iterator的时候改变vector的长度(e.g.增加元素)很危险,因为数据可能被移动,导致iterator指向错误的地方,甚至一直找不到end而死循环。
10.int和float的转换注意精度问题。