【发布时间】:2011-06-18 19:35:58
【问题描述】:
是否有可能将 std::unique_ptr 作为参数传递给 boost::thread 构造函数?如果不是,最好的解决方法是什么?
一个小例子:
// errors: g++ uniqueptr_thread.cpp -std=c++0x
#include <iostream>
#include <memory>
#include <boost/thread.hpp>
class TestThread{
public:
void operator()(std::unique_ptr<int> val){
std::cout << "parameter: " << val << std::endl;
}
};
int main(int argc, char* argv[]){
std::unique_ptr<int> ptr(new int(5));
boost::thread th( new TestThread(), std::move(ptr));
}
【问题讨论】:
标签: c++ multithreading boost c++11