还剩1页未读,继续阅读
文本内容:
C++二兀衣坯队if-else语句非常常用,但在进行一些简单逻辑判断的时候,会显得有些不太简洁特别是在初始化的时候,比如我们有一个变量,某种情况下赋值成a另外的情况下赋值成b使用if-else语句写出来就是intcur;ifcondition{cur=a;}else{cur=b;这当然是没问题的,只是在大量使用的时候会显得有些繁琐因此C++当中推出了三元表达式对此进行简化,三元表达式也被称为条件运算符:运算符的通用格式如下conditionexpressionl:expression2;问号之前的condition表示一个逻辑运算,如果结果为true返回expressionl的值,否则返回expression2的值使用三元表达式之后,刚才上述的代码可以改写成intcur=conditiona:b;这样我们就把6行代码压缩成了一行,简化了代码,但也因此了增加了代码阅读的难度因此只推荐在简单逻辑判断下使用三元表达式,也不推荐嵌套使用,会使得代码非常难以阅读最后分享一个我个人特别喜欢的使用三元表达式的场景,就是结构体排序的cmp函数比如我们有这样一个场景,需要使用一个结构体存储两个值x和y代表一个坐标我们需要对坐标进行排序,排序的规则是x轴小的在前,如果x轴相等,则y小的在前structP{intxy;;Parr
[1000];大家都知道,要对这样的结构体排序,一种做法是我们可以额外实现一个cmp函数作为sort排序函数的传参如果不使用三元表达式,那么cmp函数是这样的boolcmpconstPaconstPb{ifa.x==b.x{returna.yb.y;}else{returna.xb.x;使用三元表达式的话,整个逻辑只有一行:boolcmpfconstPaconstPb{returnax==b.xa.yb.y:a.xbx;。
个人认证
优秀文档
获得点赞 0