这是来自https://devdocs.io/cpp/algorithm/count_if的计数算法的示例实现:
template<class InputIt, class T>
typename iterator_traits<InputIt>::difference_type
count(InputIt first, InputIt last, const T& value)
{
typename iterator_traits<InputIt>::difference_type ret = 0;
for (; first != last; ++first) {
if (*first == value) {
ret++;
}
}
return ret;
}
我的问题是, 的意义是typename iterator_traits<InputIt>::difference_type
什么?
如果我正在实施这个,我会简单地用来unsigned int
跟踪计数。