c++ - 为什么 std::count 返回一个带符号的整数?

标签 c++ types containers c++-standard-library

<分区>

看到 std::count 我真的很惊讶返回了 iterator_traits<InputIterator>::difference_type , 这又指代 long int在我的平台上。

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

最佳答案

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

关于c++ - 为什么 std::count 返回一个带符号的整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14811606/

相关文章:

c++ - operator= 重载返回参数而不是 *this

database - PostgreSQL 中密码的数据类型是什么?

navigation - 在 swiper-container 外部显示导航箭头

Python:如何创建嵌套容器的散列

typescript - 如何定义字符串类型 |数字?

c++ - 如何创建不可复制元素的容器

c++ - 独立于桌面环境或窗口管理器以编程方式更改 Linux 中的墙纸

c++ - 为什么这个函数调用不明确?

c++ - 为什么我的 32 位 Fortran/C DLL 不能在 MSYS2 中编译?

ruby - 尝试在 Ruby 中打开文件 - 获取类型错误 : can't convert String into Integer