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

品牌网站建设S苏州上海徐汇做网站

品牌网站建设S苏州,上海徐汇做网站,煤棚网架多少钱一平方,北京建筑网C20增加了三路比较运算符#xff08;戏称航天飞机运算符#xff09;#xff0c;用于对类的比较运算符进行统一的设计。有两种使用方式#xff1a;默认比较对于某些类#xff0c;如果按照其成员逐一比较即可决定比较运算符的值#xff0c;那么可以使用默认的三路运…C20增加了三路比较运算符戏称航天飞机运算符用于对类的比较运算符进行统一的设计。有两种使用方式默认比较对于某些类如果按照其成员逐一比较即可决定比较运算符的值那么可以使用默认的三路运算符编译器为为类生成,!,,,,#include iostream #include string using namespace std;class A{ public:A(int d, string s):m_d(d), m_s(s) {}ostream pOut(ostream os) const{osA(m_d,m_s);return os;}auto operator(const A) const default; private:int m_d;string m_s; };ostream operator (ostream os, const A a) {return a.pOut(os); }void doCompare(const A d1, const A d2) {if(d1 d2){coutd1 is bigger than d2endl;}else if(d1 d2){coutd1 is equal to d2endl;}else if(d1 d2){coutd1 is smaller than d2endl;} }int main() {A a1(1, hi), a2(1, hello), a3(2, a);doCompare(a1, a2);doCompare(a1, a1);doCompare(a1, a3);return 0; }运行程序输出A(1,hi) is bigger than A(1,hello)A(1,hi) is equal to A(1,hi)A(1,hi) is smaller than A(2,a)默认的比较运算符将按照成员的顺序先比较m_d然后再比较m_s如果将m_d与m_s定义的顺序反过来那么会影响到比较的结果#include iostream #include string using namespace std;class A{ public:A(int d, string s):m_d(d), m_s(s) {}ostream pOut(ostream os) const{osA(m_s,m_d);return os;}auto operator(const A) const default; private:string m_s;int m_d; };ostream operator (ostream os, const A a) {return a.pOut(os); }void doCompare(const A d1, const A d2) {if(d1 d2){coutd1 is bigger than d2endl;}else if(d1 d2){coutd1 is equal to d2endl;}else if(d1 d2){coutd1 is smaller than d2endl;} }int main() {A a1(1, hi), a2(1, hello), a3(2, a);doCompare(a1, a2);doCompare(a1, a1);doCompare(a1, a3);return 0; }运行程序输出A(hi,1) is bigger than A(hello,1)A(hi,1) is equal to A(hi,1)A(hi,1) is bigger than A(a,2)定制比较当默认的比较规则不合适时可以通过定义为类生成统一的比较运算符。定制比较时可以分为三个级别对应的返回值类型分别为返回类型是否有无法比较的值说明(强序)std::strong_ordering无所有元素都可比较且有严格的顺序关系可比较等值唯一比如数值(弱序)std::weak_ordering无所有元素都可比较但存在近似相等的情况可比较等值不唯一比如大小写字符(偏序)std::partial_ordering是元素存在不可比较的情况非全可比较等值也不唯一比如void*指针以下实现一个不区分大小写的字符串比较#include iostream #include string using namespace std;auto strToUpper [](string str) {string s str;transform(s.begin(), s.end(), s.begin(), [](unsigned char c) { return toupper(c); });return s; };class A{ public:A(string s):m_s(s) {}ostream pOut(ostream os) const{osA(m_s);return os;}weak_ordering operator(const A a) const{string sThis strToUpper(m_s);string sA strToUpper(a.m_s);if(sThis sA){return weak_ordering::greater;}else if(sThis sA){return weak_ordering::less;}return weak_ordering::equivalent;}string m_s; };ostream operator (ostream os, const A a) {return a.pOut(os); }void doCompare(const A d1, const A d2) {if(d1 d2){coutd1 is bigger than d2endl;}else if(d1 d2){coutd1 is smaller than d2endl;}else{coutd1 is equal to d2endl;} }int main() {A a1(hi), a2(hello), a3(Hi), a4(ho);doCompare(a1, a2);doCompare(a1, a3);doCompare(a1, a4);return 0; }运行程序输出A(hi) is bigger than A(hello)A(hi) is equal to A(Hi)A(hi) is smaller than A(ho)可以看到通过实现了编译器会由此实现其他运算符。
http://www.hkea.cn/news/14577572/

相关文章:

  • 做django后台网站岚山网站建设公司
  • 免费扑克网站阿里云 全国网站建设
  • 响应式网站模板 视差浙江建站
  • asp.net 网站 结构网站建设报价方案对比
  • 中文域名网站怎么发布信息网络规划设计师视频徐朋百度网盘
  • 有没有做问卷还能赚钱的网站保定最新消息发布
  • 我有域名跟空间能教我做网站吗云主机建网站教程
  • 360网站拦截做免费永久网站制作
  • 搜索网站建设推广优化百度seo公司报价
  • 上海网站设计哪家强如何登录中国建设银行网站
  • 怎么做网站卖保险中铁建设集团门户网登录入口官网
  • 顺德网站建设7starry网站收录没排名
  • 专业的网站制作专业公司wordpress淘宝客自动采集
  • 网站建设合同封面模板台式机做网站服务器
  • 建设网站存在的问题wordpress php7 兼容
  • 公司网站免费建立做的比较好的网站有哪些
  • 浙江建站优化品牌理发美发培训学校
  • jsp做的网站怎嘛用交易类网站seo怎么做
  • 南京seo网站建设费用网站哪个做的好
  • 怎么查网站死链wordpress短链接关键字
  • 做资料分享网站有哪些网站建设功能
  • gvm网站是什么类的网站河池网站制作公司
  • 新郑做网站网站策划要遵循的原则
  • 优秀的网站设计分析装修公司加盟排行榜
  • 国外做文化的网站专业家装建材网站设计
  • 服装网站建设网wordpress数据库导致宕机
  • 网站怎么不要钱自己做网页制作设计培训
  • 做网站到八方资源网怎么样仿淘宝php c2c电子商务网站模板
  • 网站管理助手3.0电商seo搜索优化
  • 网站建设栏目标语口号成都网站建设爱特通