std :: cspan发生了什么?

Ker*_*g73 9 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>;
Run Code Online (Sandbox Code Playgroud)

对我来说,这似乎是一个非常方便的别名。我可能cspan会比使用更多span!根据cppreferencecspan不存在。有一个提到cspan本文中这似乎暗示,是在一些点的标准。我找不到其他提及。

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

Bar*_*rry 10

确实,cspan不存在并且从未存在过。唯一的名称更改是span以前的拼写array_view

P1085R2中的参考:

|  3  |  Make span operate only on const T, (rename cspan, obviously :D)  |
Run Code Online (Sandbox Code Playgroud)

是一个笑话,由所暗示的:D(注意,C-SPAN是有线网络广播联邦政府的诉讼)。实际的建议是使span<T>更改的行为类似于今天的行为span<T const>(并愉快地改名 cspan)。

只是写span<T const>。它比整整5个字符cspan<T>,而且增加的好处是更多的人会知道是什么span

  • @MartinBonner我写了五个字符!糟糕编辑。 (7认同)
  • @ Kerndog73我的意思是,5也占42的11.9%,但这并没有使这个数字更大。我的代码库中有一种类似“ span”的类型,而且我什至从未听说过有人建议写出“ const”太长。它甚至不在一个简洁能带来更多价值的地方。 (3认同)