连续迭代器有什么实际用途吗?

Is there any practical use for ContiguousIterator?

本文关键字:迭代器 什么 连续      更新时间:2023-10-16

C++17 引入了ContiguousIterator,但没有相应的contiguous_iterator_tag

如果无法通过std::iterator_traits检查/强制执行ContiguousIterator,是否有任何实际用途?

这个问题与连续迭代器检测不同,因为它不是"为什么它没有标签",而是"如果没有标签,如何使用它"。

C++17 中的命名要求首先是表示法。只有当它们施加可检测的要求时,它们才会与语言中可检测的事物相关联。并且连续迭代器不会对实现它们的类型施加可检测的要求。

因此,ContiguousIterator允许您做的最实际的事情是在文档中编写"您必须传递 ContiguousIterator",并理解读者将跟踪该术语的具体细节。但是不,C++17 中定义的连续迭代器不允许您编写任何可以静态检测连续迭代器和不连续随机访问迭代器之间差异的内容。