两个迭代器之间有多少个元素
How many elements are there between two iterators
计算迭代器中所有元素的最佳方法是什么?
我想要等价的代码
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));
应该够了。
网上文档说std::distance
:
计算第一个和最后一个之间的元素个数。
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 复制列表初始化的隐式转换的等级是多少
- 在cuda线程之间共享大量常量数据
- while循环中while循环的时间复杂度是多少
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 如何在cpp文件之间切换窗口?在Qt中
- 线程之间的布尔停止信号
- 在'string=string+s1'和"string+=s1"之间移动语义可以保存多少个复制操作?
- 0 和 n 之间有多少个数字满足按位属性 i&y==i?
- QFont 中 2 行文本之间的垂直偏移量是多少
- 给定范围之间有多少个素数?C++
- 两个迭代器之间有多少个元素
- c++和Scala之间有多少互操作性