Bug Record

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的转换注意精度问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值