美文网首页
关键字 const

关键字 const

作者: 曹小恒 | 来源:发表于2018-04-03 02:08 被阅读0次

    const的用法非常灵活,能够大大增强程序的健壮性.

    1. 定义常量
    const int c = 0;
    
    1. 保护变量不被更改
    void f(const int i) { i=10;//error! }
          //如果在函数体内修改了i,编译器就会报错
    

    上述代码传递的是副本,更改影响并不大,const往往和引用一起使用,节省空间并增强健壮性

    void f(const int &i){...}
    

    i 的值为引用,并且不允许被更改.
    也可以对返回值为引用的变量加上这个修饰,这样这个引用就不能被更改

      const string& get_name() const 
      { 
        return name; 
      } 
    
    1. 全局调整参数,类似宏定义
    2. 类型安全检查
    void f(const int i) { .........}
          //对传入的参数进行类型检查,不匹配进行提示
    

    宏定义仅仅对宏进行替换,没有类型检查,往往会导致意想不到的错误.

    1. 修饰成员函数
      const修饰的成员函数,不能改变这个类对象的值(指针访问可以,但是并不推荐)
    • const对象只能访问const成员函数,一般对象则都可以(包括const和其他共有函数)
    1. 节省空间
      当定义const的时候,仅仅给出了常量的内存地址,并没有分配内存.
      在程序执行过程中,仅仅进行一次内存的分配,即使这个值被引用多次.

    相关文章

      网友评论

          本文标题:关键字 const

          本文链接:https://www.haomeiwen.com/subject/fldfhftx.html