正在阅读:对C++中引用的补充说明(实例)对C++中引用的补充说明(实例)

2005-03-04 10:17 出处:PConline 作者:管宁 责任编辑:xietaoming

  接下来我们说几个利用引用作为左值参与计算的例子,这一点一非常重要,对于理解返回引用的函数是非常有帮助的。

#include <iostream>   
#include <string>   
using namespace std; 
 
float c; 
float& test(float,float); 
void main(int argc,charargv[])     

    float &pn=test(3.0f,1.2f); 
    cout<<pn<<endl; 
    test(3.0f,1.2f)=12.1;//把函数作左值进行计算! 
    cout<<pn; 
    cin.get(); 

 
float &test(float a,float b) 

    c=a*b; 
    return c; 
}

  通常来说函数是不能作为左值,因为引用可以做为左值,所以返回引用的函数自然也就可以作为左值来计算了。

  在上面的代码中:

float &pn=test(3.0f,1.2f);

  进行到这里的时候pn已经指向到了目标c的地址了。

  接下来运行了

test(3.0f,1.2f)=12.1;

  把函数作左值进行计算,这里由于test是返回引用的函数,其实返回值返回的地址就是c的地址,自然c的值就被修改成了12.1。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品