Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7263444
  • 博文数量: 512
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6857
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(512)

文章存档

2024年(2)

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: C/C++

2011-08-25 10:12:53

1、重点:常量类型是基础
     const 类型  变量  
     类型 const  变量

举例: const int r=1;
       int const r =1;

类型包含指针类型,注意不包含引用类型。


2、const修饰引用

const是限定符号,表示后面变量对象不可变化(必须在初始化时候指定植)。无论是"const引用"还是"const 指针"都是针对const变量的。若没有这两类,而使用单独"引用"或者"指针",则会导致对const变量的改变,为避免此情况,编译器用“const引用” 和“const指针”。重点理解const类型变量,都是以他展开的。

引用 是变量别名,不可改变,所以必须在初始化时候指定初值

“const引用”是何意思呢?
显然,是指通过这个“const引用"来指向const类型变量。而不可通过该引用修改变量。注意”引用“本身也不能改变。这点和 指向const变量const指针类似

const位置(替换原则)
const int a =2 ;
const   int  &r2 = a;
int     const  &r3 = a;
"const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯。cosnt和类型紧密结合,前后都可。注意指针和引用一起使用时候可能会有歧义,指针类型需要类型和* 来表示,不同于单独的类型,结合上会存在问题。

3、const修饰指针
指向常量的指针  int  const * p; 或者 const int * p;
             "const int" 还是 "int const" 都表示常量int.故次序都可以可根据自己习惯
常量指针  int* const p;
const位置以*左右为区分

4、const、引用和指针结合。

注意下面形式
int a = 2;
int* const  &ref = &a; (注意不可这样const int*   &ref = &a 。因为 const int类型 表示常量了,而此是int型,故不可改变次序,见上面的替换原则分析)。(指针为:int*)

const int b = 3;
const int * const &ref = &b; (指针为:const int*,指向常量的指针,以引用为主)
也可 int const *  const  &ref = &a;  
(可参考 http://blog.chinaunix.net/uid-52437-id-2381132.html)

阅读(2590) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~