引用
引用的好处:
1、引用的好处 C++使用结构体,不需要再使用 typedef。
2、值传递是将实参进行拷贝,赋值给形参,如果对象比较大,每次拷贝效率比较低,并且函数内部无法修改外部变量的值,能力较弱。若使用地址传递无论数据大小,每次只需要传递指针大小的数据,传递效率较高,函数具有修改外部变量的能力(const 指针)。而引用即可以有值传递简洁的语法,又可以兼顾指针传递的效率。
3、如果要使用常量引用,编译器会给常量分配内存,并且让新创建的对象引用该内存。
4、引用的机制:
引用是通过指针来实现的,引用一旦定义就不能修改,引用的本质还是取地址,解引用,C语言中我们需要自己做,C++中引用语法是编译器帮我们做。
5、引用的问题:引用究竟占不占用内存?
程序员的角度:引用只是一个别名,不占用内存。
编译器的角度:内部实现是一个指针,所以要占内存。
6、函数的返回值类型可以是引用,地址,值。
代码实现:
引用的语法:
基本类型及结构体引用:
对数组引用:
对指针的引用:
引用作为返回值类型:
注意事项:
1.&在此不是求地址运算,而是起标识作用。
2.类型标识符是指目标变量的类型
3.必须在声明引用变量时进行初始化,初始化之后不能改变。
4.不能有 NULL 引用。必须确保引用是和一块合法的存储单元关联。