(1)因为高强度开发导致的生理性疲劳,就很容易写出来:
这种就是纯属写代码时间太长,疲劳导致的,这种错误在 C++ 里面比较难发现,然后调试的时候才发现。这种错误我发现犯得概率还是蛮高的。
cpp
if (b = 1) // == 不小心少写了一个等号。
{
//then do something.
}
(2)释放内存的时候,索引写成常量导致内存泄露,这种情况比较罕见,只犯了一次,大概情况类似于:
cpp
for(int i = 0; i < 2; i++) {
delete[] pBuf[0]; //i 不小心写成了 0.
}
(3)属于比较早期犯得错误,不知道 & 运算符的优先级比较低,写出这样的代码,当然自从知道了以后,这种错误就再也没有再犯了:
cpp
if (x & 1 == 1) { //习惯性误以为 & 的优先级比 == 高。。。
}
其他情况应该还有不少,待补充~。~