码迷,mamicode.com
首页 > 编程语言 > 详细

c++ 常见问题之 const

时间:2016-07-13 15:32:25      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:

const 

  默认状态下const对象仅在文件内有效,添加extern关键字可以在多个文件共享

const 引用:

   可以把引用绑定到const对象上,对常量的引用不能被用作修改它所绑定的对象

   const int ci =1024; 
   const &r = ci;//正确
   r = 3;//错误 
   int &s = ci;//错误,可以通过s来修改常量ci 的值,显然是错误的
int i =42;
const int &r1 = i;//正确
int &r1 = 42; //错误
const int &r2 = 42;//正确 r2是一个常量引用
const int &r3 = r1 * 2; //正确
int &r4 = r1 *2;//错误

const 指针:

  指针式对象而引用不是,允许把指针本事定为常量

     int e = 0;

     int *const cur = &e; 

     从右往左 cur离const最近所以是个常量, const前面有*,所以是常量指针,常量指针指向了一个int对象

顶层const:

  顶层const表示指针本身是个常量,可以表示任意的对象是常量

     底层const表示指针所指的对象是个常量

      

  int i =0;
  int *const p1 = &i; //顶层const
  const int ci = 42;  //顶层const
  const int *p2 = &ci; //底层p2, 允许改变p2的值
const int &r = ci; //用于声明引用的const都是底层const

  

c++ 常见问题之 const

标签:

原文地址:http://www.cnblogs.com/luxiao/p/5666720.html

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