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

  • 相关阅读:
    WPF--模板选择
    C#基础知识回顾--委托事件
    WPF刷新界面之坎坷路
    git 复位出现If no other git process is currently running, this probably means a git process crashed in this repo
    winrar 授权破解过期解决
    百度地图经纬度批量查找功能XGeocoding使用手册
    variant conversion error for variable v23
    oracle exp导出加上过滤条件
    office 格式刷双击无法启用连刷模式
    xsl 文件如何定义 Javascript 函数并且调用
  • 原文地址:https://www.cnblogs.com/wen2376/p/4306025.html
Copyright © 2011-2022 走看看