首页 > 其他 > 详细

引用的定义、使用及其和指针的区别与联系

时间:2016-03-23 23:46:40      阅读:350      评论:0      收藏:0      [点我收藏+]

引用

对一个数据可以建立一个“引用”,它的作用是为一个变量名起一个别名。

int  a;

int  &b=a;//使变量b具有变量a的地址

注意:

1.引用不是一种独立的数据类型,对引用只有声明,没有定义;

2.声明一个引用时,必须同时使之初始化,即声明它代表哪一个变量;

3.在声明一个引用后,不能再使之作为另一变量的引用

int  a1,a2;

int  &b=a1;

int  &b=a2;  (错误)

4.不能建立引用数组

int  a[5];

int  &b[5]=a;  (错误)

int  &b=a[0];  (错误)

5.不能建立引用的引用,也没有引用的指针

6.可以取引用的地址

7.区别引用声明符&和地址运算符&

int  &b=a;//声明ba的引用

cout <<&b<<endl;//输出b的地址,此时&a不是引用

在声明了引用后,在使用时不带&,而只用引用的名字(如b,而不是&b)

 

引用和指针的区别与联系:

1.引用只能在定义时初始化一次,之后不能改变指向其他变量(从一而终),指针变量的值可变;

2.引用必须指向有效的变量,指针可以为空;

3.Sizeof指针对象和引用对象的意义不一样。Sizeof引用得到的是所指向的变量大小,而Sizeof指针是对象地址的大小;

4.指针和引用的自增(++)、自减(- -)意义不一样;

5.引用比指针更安全。

例:实现两个变量的值互换,用“引用”作形参

程序:

#include<iostream>

using namespace std;

int main()

{

void  swap(int &, int &);

int i = 3, j = 5;

cout << "i=" << i << " " << "j=" << j << endl;

swap(i, j);

cout << "i=" << i << " " << "j=" << j << endl;

system("pause");

return 0;

}


void  swap(int &a, int &b)

{

int temp;

temp = a;

a = b;

b = temp;

}


结果:

i=3 j=5

i=5 j=3

请按任意键继续. . .


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1754471

引用的定义、使用及其和指针的区别与联系

原文:http://yaoyaolx.blog.51cto.com/10732111/1754471

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!