为什么的返回类型std::count的difference_type迭代器(通常是的ptrdiff_t).
由于计数永远不会是负数,size_t 技术上不是正确的选择吗?如果计数超出ptrdiff_t阵列理论上可能的大小范围,该size_t怎么办?
编辑:到目前为止,没有合适的答案为什么函数返回ptrdiff_t.从下面的答案中得到的一些解释是返回类型iterator_traits<InputIterator>::difference_type是通用的,可以是任何东西.直到那时它才有意义.有些情况下,计数可能会超过size_t.但是,为什么返回类型是typedef ptrdiff_t iterator_traits<InputIterator>::difference_type标准迭代器而不是为什么仍然没有意义typedef size_t iterator_traits<InputIterator>::difference_type.