, , .
, , , , return , , ( ). .
, , . - , , , . , , , ( , ).
, , , , , . :
struct Foo {
static void set(Foo &f) { f.val = 0; }
int val;
int bar() {
set(*this);
return val;
}
};
std::cout << Foo().bar() << "\n";
Foo() , set(*this) ( , lvalue *this, , ). , . - - - .