下面我们再来看一种情况,就是把返回值赋给引用: #include <iostream> float &pn=test(3.0f,1.2f);这句在bc中能够编译通过,因为bc扩展设置为临时变量设置引用,那么临时变量的生命周期将和引用的生命周期一致,但在vc中却不能通过编译,因为一但test()执行过后临时变量消失在栈空间内,这时候pn将成为一个没有明确目标的引用,严重的时候会导致内存出错。 它在内存中的情况见下图: 我们在图中看到,由于函数仍然是普通方法返回,所以仍然会有一个副本临时变量产生,只不过,这一次只是返回一个目标地址,在main中目标地址被赋予了引用pn。
|
正在阅读:对C++中引用的补充说明(实例)对C++中引用的补充说明(实例)
2005-03-04 10:17
出处:PConline
责任编辑:xietaoming
键盘也能翻页,试试“← →”键