C++ 在boost::bind中通过引用传递向量
为什么这个输出是0C++ 在boost::bind中通过引用传递向量,c++,boost,C++,Boost,为什么这个输出是0 #包括 #包括 #包括 使用名称空间std; 空隙f2(向量和h) { h、 清除(); h、 推回(0); } 无效f1(向量和h) { boost::bind(f2,boost::ref(h)); } int main() { 向量h; f1(h); coutboost/std::bind()仅构造函数对象。您仍然需要调用它,以便执行其中的任何代码 要获得1的输出,请替换该行 boost::bind(f2, boost::ref(h)); boost:
#包括
#包括
#包括
使用名称空间std;
空隙f2(向量和h)
{
h、 清除();
h、 推回(0);
}
无效f1(向量和h)
{
boost::bind(f2,boost::ref(h));
}
int main()
{
向量h;
f1(h);
coutboost/std::bind()
仅构造函数对象。您仍然需要调用它,以便执行其中的任何代码
要获得1
的输出,请替换该行
boost::bind(f2, boost::ref(h));
boost::bind(f2, boost::ref(h))();
与
boost/std::bind()
仅构造函数对象。您仍然需要调用它,以便执行其中的任何代码
要获得1
的输出,请替换该行
boost::bind(f2, boost::ref(h));
boost::bind(f2, boost::ref(h))();
与