rabbitfoot530's diary

読んだ本と、プログラムに関することのメモです。好きな言語は、C++, Python, Golang, TypeScript。数学・物理・学習理論も好きです。

boost::threadから返り値を取得

 boost::threadにfuncを指定して、funcからの戻り値を取得。

funcには、引数を渡すために、bindする。

int return_func(std::string a, std::string b) {
  retrun 0;
}

boost::packaged_task<int> pt(boost::bind(return_func, "a", "b"));
boost::unique_future<int> uf = pt.get_future();

new boost::thread(boost::ref(pt));
std::cout << uf.get() << std::endl;