入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

C++为什么要用引用而不是指针

创建时间:2017-02-06 投稿人: 浏览次数:1267

我相信有很多刚学完C,再学C++的人都会有个疑惑,引用是干嘛的,为什么不用指针?


首先,引用 跟 指针 在作用上没有太多区别,作用都是 当遇到较大的 对象(变量)作为函数的 形参 传递时,用引用或指针可以节省内存的开销,因为他不像按值传递那样,

额外要创建临时变量。


既然这样,那为什么C++要用引用呢?

引用是一段内存的别名,引用的大小跟所代表的变量的大小是一样的,而指针他的大小则永远都是4个字节。

而且 引用 的风格更符合C++面向对象的思想。指针用 -> 来使用对象下的成员。而引用则用 . 来使用对象下的成员。

	struct a zje;
	struct a &b = zje;
	struct a *c = &zje;
	
	//b.a 和 c->a 是一样的,都是使用zje下的a成员。 

引用和指针的不同:

(1)指针在定义的时候可以不初始化,但引用在定义的时候必须初始化。

(2)指针可以为空,引用不能为空。

(3)指针可以改变他的指向的对象,但引用不可以。

(4)有const 指针,没有 const 引用。

(5)指针有多级,如 int **ptr,但引用只有一级,不存在 int &&a; 

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。