c++ - 如何创建一个将从输入流中读取下一个值的仿函数?

标签 c++ stl functor istream

像这样:

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/

相关文章:

c++ - 如何根据排序索引 vector 对 std::set 索引进行排序?

c++ - std::multimap::equal_range 的时间复杂度

c++ - 用于排序的多态STL比较函数(class cmp class, class cmp int)

c++ - 是否可以通过地址访问 STL 双端队列元素?

java - 使用比较器进行二分搜索

C++ "Dynamic"C 回调函数的函数指针

haskell - 为什么 `fmap sum Just` 类型检查?

c++ - 识别模板中的原始类型

c++ - 获取 unicode 代码点的大写或小写(如 uint32_t)

c++ - boost::async_write 在写入一段时间后失败