像这样:
std::bind1st(std::mem_fun(&istream::get ??), cin)
。这似乎对我不起作用。
编辑:
使用:
vector<int> vNumbers;
generate_n(back_inserter(vNumbers), iNumCount, functor);
最佳答案
我认为标准绑定(bind)函数不允许您定义无效函数。 bind1st
绑定(bind)到 binary 函数的第一个参数,并返回一个一元函数,该函数将其参数作为绑定(bind)函数的第二个参数传递。
但是,您可以跳出标准库,使用 Boost.Bind:
boost::bind(&istream::get, &cin)
关于c++ - 如何创建一个将从输入流中读取下一个值的仿函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4153846/