繁体   English   中英

为什么 std::span 缺少 size_type?

[英]Why does std::span lack size_type?

我一直在将使用我的 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 (又名ptrdiff_t )。 在 Kona 2019 会议上,该决定在P1227R2 中通过将index_type更改为size_t来更改。

内文所说的一切……而且在贝尔法斯特得到了解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM