Почему std::iterator_traits::iterator_category для указателей не является std::contigious_iterator_tag?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Почему std::iterator_traits::iterator_category для указателей не является std::contigious_iterator_tag?

Сообщение Гость »


iterator_traits специализируется на указателях, например

пространство имен std { шаблон требуется is_object_v struct iterator_traits { использование iterator_concept = contigious_iterator_tag; используя iterator_category = random_access_iterator_tag; используя value_type = Remove_cv_t; используя разницу_типа = ptrdiff_t; используя указатель = Т*; используя ссылку = T&; }; } - [iterator.traits] p5

Почему для указателей используется только iterator_concept, но не iterator_category, std::contigious_iterator_tag. Насколько мне известно, указатели — это непрерывные итераторы во всех смыслах.

Это недосмотр или есть практическая причина?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»