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 已经被赋值了

      

const 限定符的更多相关文章

  1. C++const限定符

    在C语言中我们使用#define宏定义的方式来处理符号常量.而在C++中有一种更好的处理符号常量的方法,那就是使用const关键字来修改变量声明和初始化.这种处理常量方式的好处不言而喻:如果程序在多处 ...

  2. C++杂谈(一)const限定符与const指针

    const限定符 c++有了新的const关键字,用来定义常变量,可以替C语言中的#define.关于const限定符,有以下需要注意: 1.创建后值不再改变 2.作用范围在文件内有效 3.添加ext ...

  3. C++ Primer 第二章 引用 指针 const限定符

    1.引用: 为对象起了另外一个名字,引用类型引用另外一种类型,通过将声明符写成&d的形式来定义引用类型,其中d也就是声明的变量名(声明符就是变量名). PS:1.通过图片中编译所提示的报错信息 ...

  4. 指针和Const限定符

    指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const d ...

  5. C++ const 限定符

    C++ const 限定符 作用:把一个对象转换成一个常量 用法:const type name = value; 性质:1. 定义时必须初始化,定义后不能被修改.2. 类中的const成员变量必须通 ...

  6. const限定符的作用

    const限定符的作用:                                     1.定义const常量:const可以将一个对象变成一个常量,不可被修改,所以定义的 时候必须进行初始 ...

  7. C++之const限定符

    作者:tongqingliu 转载请注明出处: C++之const限定符 const初始化 const的特点: 用const加以限定的变量,无法改变. 由于const对象定义之后就无法改变,所以必须对 ...

  8. 变量和基本类型——复合类型,const限定符,处理类型

    一.复合类型 复合类型是指基于其他类型定义的类型.C++语言有几种复合类型,包括引用和指针. 1.引用 引用并非对象,它只是为一个已存在的对象所起的另外一个名字. 除了以下2种情况,其他所有引用的类型 ...

  9. C++之const限定符(顶层const,底层const)

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7050815.html C++之const限定符(顶层const,底层cons ...

随机推荐

  1. php 升级排错

    lnmp 环境下,升级php版本,模块都加载完成,数据库,nginx 设置都完好,但php 只能用ip 访问数据库,不能用localhost,处理要设置php.ini 的三个mysqld.sock,还 ...

  2. 用ADO.NET存入数据库

    点击按钮存入登录名和密码: const string connstr = @"data source=USER-20160705UW\JSQL;initial catalog=Test;in ...

  3. CRM Diagnostics CRM 2016 诊断

    http://xxx.xxxxxx.xxx/Organization/tools/diagnostics/diag.aspx

  4. jquery中获取元素的几种方式小结

    1 从集合中通过指定的序号获取元素 html: 复制代码代码如下: <div> <p>0</p> <p>1</p> <p>2&l ...

  5. Flask 的 Context 机制

    转自https://blog.tonyseek.com/post/the-context-mechanism-of-flask/ Flask 的 Context 机制 2014 年 07 月 21 日 ...

  6. ipad2 恢复

    1.用原装充电线连接电脑,并打开itunes~2.同时按住电源键和home键 10秒左右,直到白苹果画面变成黑屏3.按住home键~但要松开电源键,继续等待~直到ipad出现画面(如图) 4.这时候, ...

  7. delphi.位操作

    位操作网上有很多介绍,请上网google/baidu,比如: 位操作技巧实例大全: http://blog.csdn.net/g_spider/article/details/5750665 位操作基 ...

  8. 树莓派摄像头模块转成H264编码通过RTMP实现Html输出

    官方原帖 http://www.raspberrypi.org/phpBB3/viewtopic.php?f=43&t=45368&sid=b81f6551e478f0f6e172aa ...

  9. 关于android.view.WindowManager$BadTokenException问题出现以及解决的一些记录

    1.出现 在app showdialog()时偶尔会出现,根据stackoverflow.com的描述,貌似是show的时候用作context的activity以及destroy了,,,一些异步操作会 ...

  10. 思考方式--SMART原则

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 万事开头于你目标的设定,如果开始走错了,那么后面的路将会更加的错误,甚至于更加的努力 ...