提问人:Jan Schultke 提问时间:10/14/2023 更新时间:10/14/2023 访问量:40
为什么指针的 std::iterator_traits::iterator_category 不是 std::contiguous_iterator_tag?
Why is the std::iterator_traits::iterator_category for pointers not std::contiguous_iterator_tag?
问:
iterator_traits
专门用于指针namespace std { template<class T> requires is_object_v<T> struct iterator_traits<T*> { using iterator_concept = contiguous_iterator_tag; using iterator_category = random_access_iterator_tag; using value_type = remove_cv_t<T>; using difference_type = ptrdiff_t; using pointer = T*; using reference = T&; }; }
为什么只有 for 指针而不是 for 指针是 .
据我所知,指针在任何意义上都是连续的迭代器。iterator_concept
iterator_category
std::contiguous_iterator_tag
这是疏忽,还是有实际原因?
答: 暂无答案
评论