Lyb*_*rta 8 c++ c++20 std-span
我一直在更新使用homebrew span类的旧代码,使之更符合C ++ 20的要求,std::span
并且由于std::span
没有size_type
和有,我遇到了编译错误index_type
。关于是否index_type
应该签名已经发生了巨大的变化,但是为什么要跳过size_type
呢?这会破坏期望容器(或类似容器的对象)具有的通用代码size_type
。
最初的提案P1022R0在被调用array_view
时就有一个size_type
成员。作为简化的一部分,它在第一版P1022R1中已被删除,因为它不需要,因为当时size()
元素访问使用的是带符号的index_type
(aka ptrdiff_t
)。在Kona 2019会议上,该决定在P1227R2中被更改index_type
为size_t
。