template<typename T> T aa(T &x,T &y)
{
std::cout<<"aa start...."<<endl;
x += x;
y += y;

//睡眠指定豪秒数
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
std::cout<<"aa end...."<<endl;
return x + y;
}const std::string aaa(std::string &x,std::string &y)
{
std::cout<<"aa start...."<<endl;
x += x;
y += y;

//睡眠指定豪秒数
std::this_thread::sleep_for(std::chrono::milliseconds(5000));
std::cout<<"aa end...."<<endl;
return x + y;
}int main(int argc, char* argv[])
{
using namespace std::placeholders; //for _1, _2, _3... std::string ss = "x",sss = "y";
ss += "d";
auto handle = std::async(std::launch::async,aa<std::string>,std::ref(ss),sss);
        //这句编译失败,上面那句能成功,我必须要吐槽了。
auto handle_1 = std::async(aaa,ss,sss);
}