#include <iostream>
#include <future>
using namespace std;
class A {
public:
int x;
A(int x):x(x) {}
int test(int y) {
return x+y;
}
};
int main() {
A a(3);
std::future<int> fut = std::async(&A::test, &a, 4);
cout << fut.get() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnV0dXJlPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgpjbGFzcyBBIHsKcHVibGljOgogICBpbnQgeDsKCiAgIEEoaW50IHgpOngoeCkgIHt9CgogICBpbnQgdGVzdChpbnQgeSkgewogICAgICByZXR1cm4geCt5OwogICB9Cn07CgppbnQgbWFpbigpIHsKICAgIEEgYSgzKTsKCXN0ZDo6ZnV0dXJlPGludD4gZnV0ID0gc3RkOjphc3luYygmQTo6dGVzdCwgJmEsIDQpOwoKICAgIGNvdXQgPDwgZnV0LmdldCgpIDw8IGVuZGw7CgoJcmV0dXJuIDA7Cn0=