C++ 程序常见错误表
-
访问未初始化内存(变量)/ 对象清空没有清理干净。
-
C++不同标准的求值顺序行为(如C++11前使用“序列点”规则、C++11开始使用“按顺序早于”规则)。
-
使用“NULL”等造成不恰当的隐式转换。
-
在不该全部清空数组的时候使用"memset"等清空数组造成超时。
-
-0.0000及一系列的浮点运算问题如1e18+1=1e18(尾数被舍去),应使用高精度小数。
-
运算符优先级问题。
-
注意函数返回的变量类型,比如STL里容器的size函数返回的size_t类型是机器字长的无符号类型 size-1会变的很大。
-
设置的极大值太小。
-
溢出,如变量类型太小不能容纳运算的中间和最终变量。
-
错误的STL使用,如 accumulate(a.begin(),a.end(),0ll)[如果不是0ll则累计超过INT_MAX会发生上溢],对multiset使用count()[复杂度和询问的元素的数量呈线性]。