<分区>
看到 std::count
我真的很惊讶返回了 iterator_traits<InputIterator>::difference_type
, 这又指代 long int
在我的平台上。
这是为什么呢?容器内的负计数元素没有任何意义。
<分区>
看到 std::count
我真的很惊讶返回了 iterator_traits<InputIterator>::difference_type
, 这又指代 long int
在我的平台上。
这是为什么呢?容器内的负计数元素没有任何意义。
最佳答案
它实际上是一个std::ptrdiff_t
,它必须是一个带符号的整数。它必须是有符号的,因为它可以用作两个迭代器之间的差异,当然可以是负数。
关于c++ - 为什么 std::count 返回一个带符号的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811606/