Почему std::vector::iterator не является непрерывным итератором? ⇐ C++
Почему std::vector::iterator не является непрерывным итератором?
Согласно указанному здесь стандарту, vector::iterator должен быть непрерывным (для T, отличного от bool) , но во всех трёх основных реализациях его нет, почему?
#include #include используя InputIterator = std::vector::iterator; static_assert(std::is_same_v); static_assert(std::is_same_v); Первый static_assert завершается успешно, но второй завершается неудачей с последними версиями MSVC, GCC и clang.
https://godbolt.org/z/oG1x1xdda
Согласно указанному здесь стандарту, vector::iterator должен быть непрерывным (для T, отличного от bool) , но во всех трёх основных реализациях его нет, почему?
#include #include используя InputIterator = std::vector::iterator; static_assert(std::is_same_v); static_assert(std::is_same_v); Первый static_assert завершается успешно, но второй завершается неудачей с последними версиями MSVC, GCC и clang.
https://godbolt.org/z/oG1x1xdda
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение