std::count
が を返しiterator_traits<InputIterator>::difference_type
、これがlong int
私のプラットフォームのを参照していることに本当に驚きました。
何故ですか?コンテナー内の負の数の要素は意味がありません。
std::count
が を返しiterator_traits<InputIterator>::difference_type
、これがlong int
私のプラットフォームのを参照していることに本当に驚きました。
何故ですか?コンテナー内の負の数の要素は意味がありません。
これは実際にはstd::ptrdiff_t
であり、符号付き整数でなければなりません。2 つの反復子の差として使用できるため、署名する必要があり、もちろん負になる可能性があります。