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/