码迷,mamicode.com
首页 > 其他好文 > 详细

const用法

时间:2015-02-28 20:12:42      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

    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

const用法

标签:

原文地址:http://www.cnblogs.com/wen2376/p/4306025.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!