#include <iostream>
struct Test
{
int & getAttr() { return x ; }
int x ;
} ;
int main()
{
Test t ;
t.x = 10 ;
int & x_ref = t.getAttr() ;
auto fn = [ & , t = std::move(t) ]
{
x_ref = 15 ;
std::cout << "value: " << x_ref << " address:" << &x_ref << std::endl ;
std::cout << "value: " << t.x << " address:" << &t.x << std::endl ;
} ;
fn() ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCgpzdHJ1Y3QgVGVzdAp7CiAgICBpbnQgJiBnZXRBdHRyKCkgeyByZXR1cm4geCA7IH0KICAgIGludCB4IDsKfSA7CgoKCmludCBtYWluKCkKewogICAgVGVzdCB0IDsKICAgIHQueCA9IDEwIDsKICAgIGludCAmIHhfcmVmID0gdC5nZXRBdHRyKCkgOwoKICAgIGF1dG8gZm4gPSBbICYgLCB0ID0gc3RkOjptb3ZlKHQpIF0KICAgIHsKICAgICAgICB4X3JlZiA9IDE1IDsKICAgICAgICBzdGQ6OmNvdXQgPDwgInZhbHVlOiAiIDw8IHhfcmVmIDw8ICIgYWRkcmVzczoiIDw8ICZ4X3JlZiA8PCBzdGQ6OmVuZGwgOwogICAgICAgIHN0ZDo6Y291dCA8PCAidmFsdWU6ICIgPDwgdC54IDw8ICIgYWRkcmVzczoiIDw8ICZ0LnggPDwgc3RkOjplbmRsIDsKICAgIH0gOwogICAgZm4oKSA7Cn0=