有没有一种方法可以将非修改的标准库算法应用于离散函数而不是容器?
例如,请考虑以下函数:
例如,请考虑以下函数:
int sqr(int i)
{
return i*i;
}
我该如何使用std::find
或者std::lower_bound
来查找值为49
的元素,使得算法返回7
?最简单的方式是将集合中的元素放入向量中,并对向量应用算法,但是这显然效率低下。
std::istream_iterator<T>(std::cin)
。如果你真的想要搜索整数,你可以构建这样一个迭代器。 - Kerrek SB