zoukankan      html  css  js  c++  java
  • const用法

        int const i =5;  //两者等价    const int i =5;
    
        int a = 5;
        int b = 6;
        int c = 7;
        int const *p = &a;  //等价 const int *p = &a; 指向常整型数的指针
    //    *p = 8;  //此处会报错,指向地址中的值不能改变
        p = &b; //指向的地址可以改变
    
        int * const q = &b;  //指向整型 数的常指针
        *q = 9;    //指向地址中的值是可以改变
    //    q = &c; //此处会报错,指向的地址不能改变
    
        int const * const fp = &c; //指向常整型数的常指针
    //    fp = &b;  //此处报错,指向的地址不能改变
    //    *fp =10;  //此处报错,指向的地址值中的值不能改变

    注意:网上有的题目是int const * a const; 其实是错误的写法,VC6.0编译是不通过的,

    正确写法是int const * const a ;

    摘自网上的“我 只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有 用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你 从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。

    所以以后注意这么回答了,“只读”,打个双引号。

    1) 关键字const的 作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾, 你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
    2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
    3) 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。

    http://blog.chinaunix.net/uid-26923078-id-3202384.html

  • 相关阅读:
    js字符串截取函数slice()、substring()、substr()
    js获取字符串最后一位方法
    支持xhr浏览器:超时设定、加载事件、进度事件
    深入理解ajax系列第一篇——XHR对象
    MySQL命令行操作
    nodejs中mysql用法
    大衍数列
    牌型种数
    加法变乘法
    三羊献瑞
  • 原文地址:https://www.cnblogs.com/wen2376/p/4306025.html
Copyright © 2011-2022 走看看