【发布时间】:2013-02-19 01:10:55
【问题描述】:
我想要做的是 --> 在新线程中创建一个新对象。 比如:
Class* object = 0;
Arg arg;
boost::thread t( lambda::bind( object = lambda::new_ptr< Class >()( boost::ref( arg ) );
无法编译,正确的方法是什么?
【问题讨论】:
-
提示:使用 Boost.Phoenix 而不是 Boost.Lambda——后者已被弃用多年。
-
如果您可以选择 C++11,请执行
std::thread t([&] { object = new Class(arg); } ); -
谢谢大家,但我现在不能使用 C++11。我要试试凤凰……
标签: c++ boost boost-thread boost-lambda