c++ - std::cspan 发生了什么?

标签 c++ language-lawyer c++20 std-span

std::span 已投票进入 C++20。我假设与 std::span 一起,会有一个方便的别名定义如下:

template <class T, size_t Extent = dynamic_extent>
using cspan = span<const T, Extent>;

对我来说,这似乎是一个非常方便的别名。我可能会更频繁地使用 cspan 而不是 span!根据cppreference , cspan 不存在。在 this paper 中提到了 cspan这似乎暗示它在某个时候符合标准。我找不到任何其他提及。

那么 cspan 发生了什么?它被删除了吗?它曾经存在过吗?

最佳答案

确实,cspan不存在也从未存在过。唯一的名称更改是 span曾经拼写为array_view

P1085R2 中的引用:

|  3  |  Make span operate only on const T, (rename cspan, obviously :D)  |

是一个笑话,正如 :D 所暗示的那样(请注意 C-SPAN 是一个广播联邦政府程序的有线网络)。实际提案是 span<T>更改为今天的行为 span<T const> (并厚颜无耻地重命名为 cspan )。

就写span<T const> .比cspan<T>长了整整5个字符,还有一个额外的好处,那就是更多人会知道什么 span是。

关于c++ - std::cspan 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845801/

相关文章:

c++ - Lambda 闭包类型构造函数

c++ - 提升测试和异步 IO : memory access violation at address : no mapping at fault address

c++ - LoadKeyboardLayout 不会改变键盘布局

c++ - switch 语句中 case 标签后的语句中的重新声明

C 中数组初始化的困惑

c++ - C++中各种类型的任意嵌套可迭代实现的求和函数

ubuntu - C++20 功能无法运行 Ubuntu 20.04 LTS(三向比较)

c++ - 如何在 C++ 中创建一个包含不同类型函数指针的容器?

c++ - 在 C++ 中,如何保存抽象类的列表?

javascript - {}/a/g 中的/a/g 是正则表达式还是除法?