C++ 返回传递给对象的引用

C++ 返回传递给对象的引用,c++,scope,pass-by-reference,object-lifetime,C++,Scope,Pass By Reference,Object Lifetime,我知道我们不能通过引用返回局部变量,因为它会超出范围。但是,当涉及到返回传递的引用时,我有点困惑。例如,下面的例子是合法的还是会导致未定义的行为 classobject &function(classobject &obj) { return obj; } 这很好,事实上,非成员操作符通常是合法的,例如被coutNothing使用。你要把他们给你的东西还给他们。在始终为输出和输入提供类支持时发生。非成员运算符

我知道我们不能通过引用返回局部变量,因为它会超出范围。但是,当涉及到返回传递的引用时,我有点困惑。例如,下面的例子是合法的还是会导致未定义的行为

classobject &function(classobject &obj) {
 return obj;
}

这很好,事实上,非成员操作符通常是合法的,例如被
coutNothing使用。你要把他们给你的东西还给他们。在始终为输出和输入提供类支持时发生。非成员运算符