正在阅读:对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; 
    cin.get(); 

 
float &test(float a,float b) 

    c=a*b; 
    return c; 
}

  这种情况同样也不产生临时变量,可读和性能都很好,但有一点容易弄错,就是当c是非main的局部变量或者是在堆内存中临时开辟后来又被fee掉了以后的区域,这种情况和返回的指针是局部指针的后果一样严重,会导致引用指向了一个不明确的地址,这种情况在内存中情况见下图:

  由于这种情况存在作用域的问题,故我们推荐采用第三种方式处理。

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

关注我们

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