当前位置: 首页 > news >正文

除了Joomla用什么做网站好湖北疫情最新消息

除了Joomla用什么做网站好,湖北疫情最新消息,阿里云 做网站,wordpress+for+android三向比较运算符可以用于确定两个值的大小顺序&#xff0c;也被称为太空飞船操作符。使用单个表达式&#xff0c;它可以告诉一个值是否等于&#xff0c;小于或大于另一个值。 它返回的是类枚举&#xff08;enumeration-like&#xff09;类型&#xff0c;定义在 <compare> …

三向比较运算符可以用于确定两个值的大小顺序,也被称为太空飞船操作符。使用单个表达式,它可以告诉一个值是否等于,小于或大于另一个值。

它返回的是类枚举(enumeration-like)类型,定义在 <compare>std 名称空间中。其运算的结果如下:

数据类型含义
如果操作数为整数类型,其结果称为 强排序(strong_ordering)strong_ordering::less左边的操作数小于右边的操作数
strong_ordering::greater左边的操作数大于右边的操作数
strong_ordering::equal左边的操作数等于右边的操作数
如果操作数为浮点类型,其结果称为 偏序(partial_ordering)partial_ordering::less左边的操作数小于右边的操作数
partial_ordering::greater左边的操作数大于右边的操作数
partial_ordering::equivalent左边的操作数等于右边的操作数
partial_ordering::unordered无法比较时(有一个非数字)
如果操作数为自己实现的类型,称为 弱排序(weak_ordering)weak_ordering::less左边的操作数小于右边的操作数
weak_ordering::greater左边的操作数大于右边的操作数
weak_ordering::equivalent左边的操作数等于右边的操作数

三向比较运算符的用法

三向比较运算符的使用方式如下:

#include <iostream>using namespace std;int main() {int i{ 11 };strong_ordering result{ i <=> 0 };cout << typeid(result).name() << endl;if (result == strong_ordering::less) { cout << "less" << endl; };if (result == strong_ordering::greater) { cout << "greater" << endl; };if (result == strong_ordering::equal) { cout << "equal" << endl; };return 0;
}

可以得到以下的输出结果

struct std::strong_ordering
greater

同时,<compare> 还提供了一些函数来解释排序结果,有以下几种:std::is_eq()is_neq()is_lt()is_lteq()is_gt()is_gteq()

使用的方式如下:

#include <iostream>
#include <compare>
using namespace std;int main() {int i{ 11 };strong_ordering result{ i <=> 0 };cout << typeid(result).name() << endl;if (is_lt(result)) { cout << "less" << endl; };if (is_gt(result)) { cout << "greater" << endl; };if (is_eq(result)) { cout << "equal" << endl; };return 0;
}

三向比较运算符的作用

在编写自己的类时,如果需要实现比较运算符,在 C++20 之前,通常要重载 6 个比较运算符:(><<=>===, !=)。在 C++20 引入了三向比较运算符以后,就可以只重载 <=>== 后,其他的运算符会由编译器为我们生成。(在 C++20 中,重载了 == 后,!= 也会自动重载)

以下是使用示例:

#include <iostream>
#include <compare>
using namespace std;class MyClass {
public:MyClass(int ini) : _data{ ini } {}auto operator<=>(const MyClass& other) const {return this->_data <=> other._data;}auto operator==(const MyClass& other) const {return this->_data == other._data;}
private:int _data;
};int main() {MyClass a{ 10 }, b{ 20 };if (a < b) {cout << "a < b" << endl;}if (a != b) {cout << "a != b" << endl;}return 0;
}

可以得到以下的运算结果:

a < b
a != b
http://www.15wanjia.com/news/47999.html

相关文章:

  • 专业网站制作推荐百度电脑版网页
  • asp网站如何搭建大连头条热点新闻
  • 江西中耀建设集团有限公司网站友情链接英语
  • 什么软件 做短视频网站好推广引流吸引人的文案
  • 建设网站深圳罗湖电子商务网站建设方案
  • 企业网站建设的流程5g网络优化
  • 柳州哪家公司做网站好全面网络推广营销策划
  • 公司比较好seo外链发布工具
  • flash网站建设seo排名优化软件有用吗
  • gps建站教程百度竞价推广登录
  • 搭建网站 阿里云推广引流话术
  • 如何做网站的统计成都关键词seo推广平台
  • 自己做的网站 能收索么b站推广链接
  • 网站整体配色方案企业网站设计制作
  • 网站建设 服务器 预算报价清单百度推广和优化哪个好
  • 网站内链规划网站维护中
  • wordpress 首页显示摘要深圳英文站seo
  • 做网站的成本是什么百度指数查询官网入口登录
  • 小型玩具企业网站建设初期阶段任务今日国际新闻头条新闻
  • 电子商务网站建设 市场分析天津百度推广代理商
  • 做网站 赚广告费seo职业培训学校
  • 吉安网站设计app推广联盟平台
  • 网站建设题目以及答案百度云网盘资源搜索引擎
  • 免费个人网站建设报价河南今日重大新闻
  • 怎样建设网站佛山百度推广公司
  • 做外贸需要自己建网站吗举例网络营销的例子
  • 陕西网站建设价格螺蛳粉营销策划方案
  • 基于jsp企业网站开发设计答辩ppt广西壮族自治区人民医院
  • 什么行业必须做网站大数据营销平台那么多
  • 建设网站找哪里百度问一问官网