我一直想知道如果我通过引用从方法返回某些东西是否是有效的 C++,而该方法实际上被声明为按值返回:
class A {
public:
int method(){
int i = 123;
int& iref = i;
return iref;
}
};
这编译得很好,似乎工作。据我了解,这应该按值返回,如方法签名中所声明的那样。我不想最终返回对局部变量的引用。有谁知道这是否是没有陷阱的“正确的 c++ 代码”?
我一直想知道如果我通过引用从方法返回某些东西是否是有效的 C++,而该方法实际上被声明为按值返回:
class A {
public:
int method(){
int i = 123;
int& iref = i;
return iref;
}
};
这编译得很好,似乎工作。据我了解,这应该按值返回,如方法签名中所声明的那样。我不想最终返回对局部变量的引用。有谁知道这是否是没有陷阱的“正确的 c++ 代码”?