首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C+20中的三向比较运算符(太空飞船运算符)

三向比较运算符“ ”称为太空飞船运算符。飞船操作员确定两个对象甲和乙是否A  B。太空船操作员或编译器可以为我们自动生成。同样,三向比较是一种可以在一个查询中给出整个关系的函数。传统上,strcmp()是这样的功能。给定两个字符串,它将返回一个整数,其中:

== 0如果两者相等

如果第一个字符串较大,则> 0。

它可以给出三个结果之一,因此是三向比较。

从上表可以看出,宇宙飞船算子是主要算子,即可以颠倒,可以用它来写对应的次要算子。

(A B)如果A

(A B)> 0为真,如果A> B

(A B)== 0如果A和B相等/相等。

下面是两个浮点变量的三向比较运算符的实现:

下面是两个向量的三向比较运算符的实现:

输出:

注意:您应该下载足够新编译器以运行C ++ 20。

太空飞船运营商的需求:

这是所有其他比较运算符(对于完全排序的域)的通用概括:>,> =,==,使用,可以在用户定义的数据类型的情况下以完全通用的方式实现每个操作,例如一种结构,其中一个结构必须一个一个地定义另外六个比较运算符。

对于字符串,它等效于C标准库的旧strcmp()函数。因此,对于字典顺序检查(例如矢量或列表中的数据或其他有序容器中的数据)很有用。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201211A0H0PJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券