gpt4 book ai didi

c++ - 为什么 std::span 缺少 size_type?

转载 作者:可可西里 更新时间:2023-11-01 17:57:21 27 4
gpt4 key购买 nike

我一直在将使用我的自制 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)。在科纳 2019 年 session 上,该决定在 P1227R2 中发生了变化。通过将 index_type 更改为 size_t

关于c++ - 为什么 std::span 缺少 size_type?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55209261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com