1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include <iostream>
#include <future>
#include <string>
using namespace std;
class Object
{
int d_value = 10;
public:
Object()
{
cout << "default cons\n";
}
Object(Object const &)
{
cout << "copy cons\n";
}
Object(Object &&)
{
cout << "move cons\n";
}
std::string member(int x, std::string const &str)
{
d_value = 133;
return str;
}
int value() const
{
return d_value;
}
};
int main()
{
Object obj;
cout << "Calling\n";
auto fut = async(launch::async,
&Object::member,
&obj,
133, "hello world");
cout << "Getting\n";
auto ret = fut.get();
cout << "Text: " << ret << ", value: " << obj.value() << '\n';
}
|