gpt4 book ai didi

c++ - 两个迭代器之间有多少个元素

转载 作者:IT老高 更新时间:2023-10-28 22:35:07 25 4
gpt4 key购买 nike

计算迭代器中所有元素的最佳方法是什么?

我想要与此等效的代码

template<typename T,typename S,S val>
struct ConstantFunctor : unary_function<T,S>
{S operator()(const T&) const {return val;}};
template<typename T>
struct TrueFunctor : ConstantFunctor<T,bool,true>{};
...
count_if(c.begin(),c.end(),TrueFunctor());

最好的方法是什么?

我可以使用 boost::lambda::constant(true),但也许有更清晰的东西。

最佳答案

如果你想计算一个范围内的所有元素。那么你可以使用 std::distance ,来自 <iterator> 标题,像这样:

int count = std::distance(begin(c), end(c));

应该够了。

online docstd::distance :

Calculates the number of elements between first and last.

关于c++ - 两个迭代器之间有多少个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com