#include <iostream>
class A
{
private:
A() : a(0) {}
A(const A& o){a=o.a;}
public:
A(A&& a) : a(a.a) { }
static A Create() { return A(); }
int a;
};
int main()
{
A a = A::Create();
//A b = a; // compile error!
std::cout << a.a << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKY2xhc3MgQQp7CnByaXZhdGU6CglBKCkgOiBhKDApIHt9CglBKGNvbnN0IEEmIG8pe2E9by5hO30KCQpwdWJsaWM6CglBKEEmJiBhKSA6IGEoYS5hKSB7IH0KCQoJc3RhdGljIEEgQ3JlYXRlKCkgeyByZXR1cm4gQSgpOyB9CglpbnQgYTsKfTsKCmludCBtYWluKCkKewoJQSBhID0gQTo6Q3JlYXRlKCk7CgkvL0EgYiA9IGE7CS8vIGNvbXBpbGUgZXJyb3IhCglzdGQ6OmNvdXQgPDwgYS5hIDw8IHN0ZDo6ZW5kbDsKfQo=