【发布时间】:2013-06-17 15:44:59
【问题描述】:
我的应用程序有一个类似于以下代码的部分
void SomeClass::OtherMethod(std::vector<std::string>& g)
{
g.pushback("Something");
}
void SomeClass::SomeMethod()
{
std::vector<std::string> v;
boost::thread t(boost::bind(&SomeClass::OtherMethod,this,v)
t.join();
std::cout << v[0]; //Why is this empty when the vector created on stack
}
我想知道为什么向量 v 在堆栈上创建时为空,而在堆上创建时它可以工作。我期待上面的代码能够工作,因为即使在堆栈上创建向量,它仍然在范围内。
【问题讨论】:
标签: c++ boost boost-thread boost-bind