std :: cspan发生了什么?

时间:2019-07-02 05:21:26

标签: 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!根据{{​​3}},cspan不存在。在cppreference中仅提及cspan,这似乎暗示它在某些时候已成为标准。我找不到其他提及。

cspan怎么了?它被删除了吗?它曾经存在吗?

1 个答案:

答案 0 :(得分:10)

实际上,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是什么。