C++ 程序常见错误表

  1. 访问未初始化内存(变量)/ 对象清空没有清理干净。

  2. C++不同标准的求值顺序行为(如C++11前使用“序列点”规则、C++11开始使用“按顺序早于”规则)。

  3. 使用“NULL”等造成不恰当的隐式转换。

  4. 在不该全部清空数组的时候使用"memset"等清空数组造成超时。

  5. -0.0000及一系列的浮点运算问题如1e18+1=1e18(尾数被舍去),应使用高精度小数。

  6. 运算符优先级问题。

  7. 注意函数返回的变量类型,比如STL里容器的size函数返回的size_t类型是机器字长的无符号类型 size-1会变的很大。

  8. 设置的极大值太小。

  9. 溢出,如变量类型太小不能容纳运算的中间和最终变量。

  10. 错误的STL使用,如 accumulate(a.begin(),a.end(),0ll)[如果不是0ll则累计超过INT_MAX会发生上溢],对multiset使用count()[复杂度和询问的元素的数量呈线性]。

posted @ 2021-11-20 17:51  opsiff  阅读(69)  评论(0编辑  收藏  举报