C++知识学习笔记
1. C++中的引用类型变量必须进行初始化,并且这个引用类型变量的值将不能变了,即该变量所代指的对象只能是其初始化时的对象,可见引用变量是十分忠诚的。。
例如:int I = 1;
int& anotherI = I;//正确,编译通过
int& wrongI;//错误,引用变量wrongI必须进行初始化
通常情况下的引用类型变量T&进行初始化时必须为一个”左值“,即通俗的理解为一个T类型的变量名,而不能是T类型的一个常量。但是const T&类型的引用变量进行初始化时就没有这一限制,即其可以用一个常量进行初始化。
例如: int myT = 5;
int& myTRerfer=myT;//OK, myT is left value
int& myTRefer2=5;//Wrong, 5 is not left value
const int& myTRefer3=5;//OK, const int temp=5 first, myTRefer3=temp then;
2. 什么情况下将引用作为函数参数?
当函数要处理的参数是一个占用内存较大的类对象时,采用引用作为其参数可以避免在进行按值传递机制下对象复制所需内存及时间花销,而直接读取对象的内存,但是一般以const引用作为函数参数,表示函数不会改变对象的内容。如果想要改变对象内容时,应该以指针作为函数的参数,这样就显式的告诉函数使用者本函数将改变对象的内容。
评论