c++11使用 async異步函數並傳遞參數以及auto的使用方法

class X
{
public:
	int foo(int a,std::string const& b){std::cout<<a<<std::endl<<b<<std::endl;return 3;}
	std::string bar(std::string const& a){std::cout<<a<<std::endl;return a;}
};
<pre name="code" class="cpp">	X x;
	//傳入x是傳入x的副本
	auto f1 = std::async(&X::foo,x,1,"hello");
	//傳入&x\std::ref(x)是傳入x的引用
	//std::future<int> f2 = std::async(&X::bar,&x,"hi");
	auto f2 = std::async(&X::bar,&x,"hi");
	auto f3 = std::async(&X::bar,std::ref(x),"hi");
	std::cout<<f2.get()<<std::endl;
	std::cout<<f1.get()<<std::endl;
	std::cout<<f3.get()<<std::endl;




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章