• const 限定符


    1.定义const对象

      const限定符把一个对象转换成一个常量

        const int Bufsize = 512;

           定义Bufsize 为常量并初始化为512。变量Bufsize仍然是一个左值,但是不可修改。

        Bufsize = 0;  // error

    2.const对象默认为文件的局部变量

      在全局作用域中定义非const变量时,在整个程序中都能访问

        // file1.c

         int counter;

        // file2.c

        exter int counter;

        counter++;

       除非特别说明,在全局作用域声明的const变量是该对象的文件的局部变量,此变量只存在于这个文件中,不能被其他文件访问。

      通过指定const变量为extern,就可以在整个程序中访问const变量。

        // file1.c

          extern const int Bufsize = fcn();

        //file2.c

          extern const int Bufsize;

          for( int i = 0; i < Bufsize; ++i )

    注意:非const变量默认为extern。要使const变量能够在其他的文件中访问,必须显示的指定它为extern。 

    3. const引用

      const引用是指向const对象的引用

          const int ival = 512;

          const int &refval  = ival;    // ok: 对象和引用都是const型

          int &refval = ival;      // error: 对象是const型,引用不是const型

    4.指向const对象的指针

       指针指向const对象,不允许通过指针改变其所指的const值。

          const double pi = 3;

          const double *cptr = *pi;

          *cptr = 4;  // error

       把一个const对象的地址付给一个非const对象的指针,编译时是错误的。

            const double pi = 3;

            double *cptr = &pi;    // error

      

    5. const 指针

       const指针——指针本身不能被修改

           int errNumb_1 = 0;

           int errNumb_2 = 0;

           int *const curErr = &errNumb;

           curErr = &errNumb_2;    // error, curErr 已经被赋值了

           

  • 相关阅读:
    javascript实现网页分享至朋友圈功能
    Vue中全局过滤器期与局部过滤器期的使用
    vue中添加与删除,关键字搜索
    vue生命周期
    4种常用的Ajax请求方式
    CSS 基础总结
    BEM思想之彻底弄清BEM语法
    学习前端过程中用到的资料
    深入理解,函数声明、函数表达式、匿名函数、立即执行函数、window.onload的区别.
    html基础
  • 原文地址:https://www.cnblogs.com/ATMvip/p/3961378.html
Copyright © 2020-2023  润新知