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