2 qq 28962115 qq_28962115 于 2015.06.14 06:30 提问

引用和指针在c++之中的具体区别

求个例子说明引用和指针如何不一样,还有空间内存的问题以及操作的效率高低

7个回答

frank_20080215
frank_20080215   2015.06.14 09:29

引用和指针在c++之中的具体区别 只是在语法上。
原因是指针只是c++为了兼容C语言。
引用的原理就是指针。指针难以控制,会危害内存的分布,内存泄漏。
在效率上指针比引用高,引用就是为了规避

henuyx
henuyx   2015.06.14 10:30

打个比方,指针就像指示器,指向了一个变量的位置,所以可以指来指去,想指哪里指哪里。

引用 就像一个外号,给一个变量起了一个外号,这个变量就起个胖子的外号,只要喊胖子,就是这个变量。

int a = 10; // 定义一个变量
int *p = NULL; //定义一个指针
p = &a; //将指针指向变量a的地址
int &fat = a; // 给a起了一个外号 fat

a1193561652
a1193561652   Rxr 2015.06.14 12:29

其实只是换个写法,引用的实现的原理实际就是指针。

cuiwei1026522829
cuiwei1026522829   Ds   Rxr 2015.06.14 14:59
jianjian1992
jianjian1992   2015.06.15 09:51

引用比指针会更安全。比如定义一个引用变量和一个指针变量:
引用变量必须要这样:
int b = 1;
int &a = b;
引用必须要指向一个已经存在的变量。
而定义指针的时候:
```int *a;

a可以直接定义,没有规定一定要初始化,所以可能出现:
``` int *a;*a = 1;

也就是野指针的情况,造成内存泄露。
所以指针定义之后一定要初始化一下,一般都是初始化为NULL空指针,在访问指针的时候也应该判断它是否是空指针,这样代码鲁棒性也就会更强啦

max_min_
max_min_   Rxr 2015.07.03 00:25

穿了西装的张三 小名叫 小三

引用就是小三
指针就是穿了休闲装的张三。

CSDNword
CSDNword   2015.07.30 18:26
Csdn user default icon
上传中...
上传图片
插入图片