[英]Fixed-size std::span vs std::array
C ++ 20包括std::span
,它“描述了一个对象,该对象可以引用一个连续的对象序列,其中序列的第一个元素位于零位置” 。 它的接口非常接近std::array
,虽然它支持动态范围和固定范围。
明显的区别是std::array
拥有它的元素(因此它的析构函数会破坏它们)而std::span
则没有。
还有什么别的array
可以用于那个span
不可以吗?
span
是指向array
指针。
有什么的int
可以用于比int*
不能?
如果你横扫代码库和更换一次int
与int*
你有一个完全胡说八道的代码库,即使你加了*
在每个点使用的的int*
。 如果你扫描代码库并用std::span
替换每个std::array
,那么情况也是如此。
指针和价值观是不同的东西。 你可以跳过篮球并尝试处理指针,好像它们是他们指向的东西的价值,但试图这样做往往很困难,结果往往是不连贯的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.