最近用得比较多,总结了下:
1.返回引用的函数 return 对象一定不能是局部变量,不然挂掉程序。
2.如果1不成立,那么加上&可以直接操作返回对象本身,不加上&和普通函数(不返回引用)无区别.
如:
test &fun() { test te1 ; return te1 ; }
不行,必挂
test &fun(test &te) { return te }
那么
test te2 = fun(te1) ;是复制操作,和不返回引用的函数一样
test&te2 = fun(te1) ;是别名操作,te2就是te1
所以如果对于复杂类的成员变量,直接修改很麻烦时可以考虑写成引用函数