一、引用的定义和特点是什么?
1.引用就是某一变量的一个别名,对引用的操作与对变量直接操作等效;
2.声明引用的时候必须初始化;
3.使用常量对const引用初始化后将生成一个只读变量。const type(int、char等) X;
4.引用的内部实现为常指针(即Type a& ; <==> Type* const c)(sizeof引用的值为变量类型的字节数,sizeof包含引用的结构体,一个引用占据4个字节);
5.无法返回局部变量的引用(或指针)
二、函数是否能够返回变量的引用,为什么?
1.如果该变量的生命周期在函数调用完成前已经结束,返回该变量的引用不合法。
2.如果该变量在调用该函数之前就已经存在,返回其引用合法。
三、使用引用传值有什么好处?
1.提升效率,对于类类型的参数而言,减少了类类型的构造过程;
2.减少内存占用,对于含有大量数据的类型参数而言,不用生成中间变量(对象),这些变量(对象)在内存中只是占据一份;
3.一般在定义函数的时候,除了内置类型的参数或者参与计算后返回的参数,其它参数尽量定义成常引用;(提升效率、节省空间、防止他人无意修改参数)