C++ 在boost::bind中通过引用传递向量

C++ 在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:

为什么这个输出是0

#包括
#包括
#包括
使用名称空间std;
空隙f2(向量和h)
{
h、 清除();
h、 推回(0);
}
无效f1(向量和h)
{
boost::bind(f2,boost::ref(h));
}
int main()
{
向量h;
f1(h);
cout
boost/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))();