C++----引用

1、什么是引用?申明和使用引用要注意哪些问题?
答:引用就是某个变量的别名,对应用的操作与对变量直接操作相同。
(1)初始化:申明一个引用的时候切记要对它进行初始化引用申明完毕后。
(2)引用名不可另外赋值:相当于目标变量名有两个名称,即目标原名和引用名。不能把该引用名作为其他变量别名。
引用本身不占据存储单元,系统也不会给引用分配存储单元。
(3)不能建立数组的引用
2、将引用作为函数参数有哪:些特点?
答:(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象的操作
(2)用引用比用一般变量传递参数的效率和所占空间都好。使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作。
(3)使用指针作为函数的参数虽然也能达到使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用“*指针变量名”的形式进行计算,这很容易产生错误且程序的可读性较差;另一方面在主函数的调用点处,必须用变量的地址作为实参。而引用更容易使用更清晰。
3、在什么时候需要使用“常引用”?
答:如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。常引用的声明方式为:const 类型标识符 &引用名 = 目标变量名。
int a;
const int &ra = a;
示例2:
string foo( );
void bar(string&s)
// 那么下面的表达式将是非法的:
bar("hello world");
因为“hello world”是const的,而上面的表达式试图将一个const类型的对象转化为非const的,是非法的。
引用类型参数应该在能被定义为const的情况下,尽量定义为const。
4、将引用作为函数返回值类型的格式、好处和需要遵守的规则?
答:
格式:
类型标识符 &函数名(形参列表以及类型说明)
{
//函数体
}
好处:在内存中不产生被返回值的副本;(注意:正因为这一点,所以返回值不能是局部变量,因为随着局部变量生存周期的结束,相应的应用也会结束,相应的引用也会失效,产生return error;)
注意:
(1)不能返回局部变量的引用。主要原因是局部变量会在函数返回后被销毁,因此返回的引用就成为无所指的引用,程序进入位置状态。
(2)不能返回函数内部new分配的内存引用。因为虽然不存在内存被销毁问题,但是会出现其他问题,例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际变量,那么这个引用所指向的空间就无法被释放,造成内存泄漏。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值