C里面的int& fun(int a)是什么函数

我只知道有指针函数int *fun(int a),就是返回值为指针的函数,那在函数前加一个取址符是什么函数,举例说明一下它的用法。

int &fun(int &a){return a;}
函数返回的就是一个引用

函数返回引用,要慎重,一定要保证函数结束后,返回的引用是有效的
int &fun(){int a=0;int &b=a;return b;}//错误,函数返回后,局部变量已经被释放

可以比较下面的三个函数声明:
int *fun(){return &a;}//正确
int &fun(){return &a;}//错误
int &fun(){return a;}//正确

一般用作类对象的返回值,可以减少临时对象的申请、构造等操作,节省空间时间,比如
String &operator=(const String &)
{
//若干代码
return *this;//返回自身引用
}

有关基本数据类型,可以参考http://hi.baidu.com/janvyking999/blog/item/22c38cc6574602d4d10060f6.html
温馨提示:答案为网友推荐,仅供参考
相似回答