您能否向我解释两个功能之间的区别:
function &a(){
return something;
}
和
function b(){
return something;
}
谢谢!
答案 0 :(得分:1)
第一个返回对something
的引用,第二个返回something
的副本。
在第一种情况下,当调用者修改返回的值时,something
将被修改为全局变量。
在第二种情况下,修改副本对源无效。
答案 1 :(得分:0)
函数名前的&符号表示函数将返回对变量的引用而不是值。
根据此LINK
Returning by reference is useful when you want to use a function to find to which
variable a reference should be bound. Do not use return-by-reference to increase
performance. The engine will automatically optimize this on its own. Only return
references when you have a valid technical reason to do so.