zoukankan      html  css  js  c++  java
  • 坑爹的uint32_t

    首先看看下面这段程序:

    uint32_t compare = 10;

    for (uint32_t i = compare; i >= 0; --i) {

      

      

        ..........

      

    }

    这是一段比较危险的程序, 当 i的值变为 -1的时候,其实由于i是一个非负数整形,强制类型转换后,i又变为一个很大的数,

    后果就是得不到自己想要的结果,甚至相差很远,以至于程序core掉,正确的做法是,在这种程序中尽量不要用uint32_t,

    或者使用之前进行转换(转换成int32_t类型, 但是要注意范围)

    通过测试,发现这个循环将成为一个死循环,太可怕了!!!

    教训:对于含有unsigned int类型的要特别的注意加小心,防止递减到“小于”零,最好循环比较中不要这样用

  • 相关阅读:
    angular.js 渲染
    HTML5 与 CSS3 jQuery部分知识总结
    下拉滚动协议文本框展示样式(不可删除文本内容)
    06对象
    05数组
    1文字与字体
    04函数
    03循环
    02运算符
    01基础
  • 原文地址:https://www.cnblogs.com/candycloud/p/3904416.html
Copyright © 2011-2022 走看看