引用、const引用和非const引用

xiaoxiao2021-02-28  50

引用

引用构造了对象的一个同义词,是C++对象的另一个名字。在实际程序中,引用的主要作用是作函数的形参。

什么是引用

引用是一种复合类型1,它通过在变量名前添加“&”来定义。在使用引用的情况下,每一种引用类型都关联到某一其他类型。C++不能定义引用类型的引用,但是可以定义任何其他类型的引用。

int a = 100; int &refa = a; // &refa引用a int &refa = b; // error:引用对象必须初始化 int &refa = 10; //error:右值必须是对象

什么是const

const是一个限定符,被const限定的变量其值不会被改变。所以,const变量必须在定义时就被初始化。

const int bufSize = 512;

如上定义了一个const变量bufSize。编译器将在编译过程中把用到该变量的地方都替换成对应的值。也就是说,编译器会找到代码中所有用到bufSize的地方,然后用512替换。

const引用和非const引用

const引用是指向const对象的引用。const引用必须被定义为const类型。

const int a = 100; const int &refa = a; // correct:引用和被引用都是const类型 int &refa = a; // error:引用不是const类型

const引用可以读取但是不可以被修改引用对象,任何对const引用进行赋值都是不合法的,它适用指向const对象的引用,而非const的引用不适用于指向const对象的引用。


复合类型是指用其他类型定义的类型。 ↩
转载请注明原文地址: https://www.6miu.com/read-2623178.html

最新回复(0)