Chinaunix首页 | 论坛 | 博客
  • 博客访问: 114495
  • 博文数量: 83
  • 博客积分: 2531
  • 博客等级: 少校
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-31 20:40
文章分类

全部博文(83)

文章存档

2011年(7)

2010年(76)

我的朋友

分类: C/C++

2010-05-05 21:22:36

1、&符号代表引用类型 可以是变量,函数参数,函数返回值
2、只读引用变量 const datatype & name 用于引用常量或者只读变量 ,无论引用哪种,都必须立即初始化
  eg:  const int & i =2;   const int k = 10 ,const int & j =k;
  同理
  普通引用变量,用于引用普通变量,必须立即用普通变量的左值表达式初始化
  挥发引用变量,用于引用挥发变量,必须立即用挥发类型变量的左值表达式初始化
3、引用和指针的区别
  一、引用变量从一开始创建,就应该初始化,而指针则可以在使用之前任何时候初始化。
  二、引用一旦被初始化,即建立了和被引用对象之间的关系,则这种引用关系不能改变,而指针(非只读类型指针)则可以随时改变它指向的对象,即指向不同的地址。
  三、不能有NULL引用,即引用必须和实际的存储单元对应,而指针则可以是NULL。
4、对引用变量的操作,就是对被引用变量的操作,它们的值始终是一致的
eg:
int i=0;
int &x = ++++i;   //++++i 为左值,x引用i
int &y = i = 4;   //i=4为左值(赋值运算是左值表达式),y引用i
int &z = y = 8;  //y=8为左值,z引用i
i = 3;           // x=y=z=i=3
z = 12;          //z=y=x=i=12
++y = 10;    //左值++y使得i=13,并代表i,10赋值给i,使得z=y=x=i=10
(z=10)=15; //左值z=10使得i=10并代表i,15赋值给i,使得z=y=x=i=15
5、引用变量需注意:当
初始化条件得不到满足
表达式类型同引用类型不一致
局部引用变量引用了一个常量
编译程序就会临时生成类型相符的匿名变量,用表达式的值初始化匿名变量,然后用匿名变量初始化引用变量
 
 
 
 
 
阅读(597) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~