6

看到std::count返回的 a iterator_traits<InputIterator>::difference_type,我真的很惊讶,它又指的是long int我平台上的 a 。

这是为什么?容器内的负数元素没有任何意义。

4

1 回答 1

5

它实际上是 a std::ptrdiff_t,它必须是有符号整数。它必须被签名,因为它可以用作两个迭代器之间的差异,这当然可以是负数。

于 2013-02-11T12:18:32.347 回答