【发布时间】:2020-06-23 07:08:35
【问题描述】:
std::span 不是设计为对std::vector/std::array/纯数组 等的子区域的轻量级引用吗?它不应该在其 API 中包含比较运算符,以与它们保持一致吗?排除的原因是什么?
注意:通过比较运算符,我的意思是完整集(<、<=、...)或宇宙飞船<=>
【问题讨论】:
-
IMO 的好问题,我也想知道。
operator==也不见了。特别是。对于矢量,我经常发现直接比较很方便。这可能是由于静态大小跨度类型的困难,尽管我不确定。 -
看起来像gsl::span,其中std::span的版本也不包括这些。
-
@DanielLangr 为什么不像
std::vector和std::array这样的字典比较呢?它们已经为这些类型定义了,所以为什么不在这里。 -
请注意,P0122R7 建议比较
span,但 current draft standard 不包括它。 -
@darune
gsl::span确实(并且一直如此)有比较运算符。他们只是将它们移到了own header