条件运算符嵌套_条件运算符(?:)的运算过程是什么

条件运算符嵌套_条件运算符(?:)的运算过程是什么条件运算符(?:)都知道就不细说了,最简单也是最常用的例子:n=(a>b)?a:b;    在C++primerplus第六版180页看到了一个例子,如下所示:    constcharx[2][20]={“Jason”,”atyourservices\n”}    constchar*y=”Quillstone”;

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

       条件运算符(?:)都知道就不细说了,最简单也是最常用的例子:n = (a > b) ? a : b;

       在C++ primer plus第六版180页看到了一个例子,如下所示:
       const char x[2] [20] = {“Jason”,”at your services\n”}

       const char * y = “Quillstone”;


       for(int i = 0; i <3; i++)

              cout<<((i < 2)? !i ? x[i] : y : x[1]);

       打印结果为:

       Jason Quillstone at your services

       

       乍一看有点愣住,但仔细看就会发现,原表达式的意思是(i < 2)? (!i ? x[i] : y) : x[1],再对照结果一看,印证了我的想法。在网上找到的例子中还有各种眼花缭乱的嵌套用法,但只要找到每个(?:)运算符应该是怎么配对的,就很容易理解了。

        还有一点,该书中说这个技巧完成了一个应被谴责的任务——隐藏代码,书中没有解释,网上也没有相关的资料。那这个条件运算符的代码隐藏体现在什么地方呢?我的理解就是:1、隐藏了一对圆括号。2、将代码缩短了,使得其难于理解。

         说了这么多,然而这个条件运算符嵌套并没有什么卵用。最常用的就那种最简单的形式,嵌套的越多代码越难于阅读和理解,这时候使用 if else 语句来表达会更为清晰。

        

        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186754.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 实现学员管理系统

    实现学员管理系统”””班级学员管理系统需求:简单的设计一下首页。1、添加学员信息,设计简单的页面2、删除学员信息,学员信息为空则不执行操作3、修改学员信息,学员信息为空不执行操作(当修改的学员的姓名不在列表中时返回错误)4、查找学员信息,把学员信息,依次输出在终端页面”””Student_List=[]whileTrue:print(”)print(‘–…

    2022年9月20日
    0
  • linux卸载socat,socat在Linux下的使用「建议收藏」

    目录0x01socat介绍0x02socat进行文件传输0x03socat正向端口转发0x04socat反向端口转发注:边界机器Ubuntu192.168.222.177内网机器win7192.168.222.1370x01socat介绍socat我们在前面也已经介绍过了,之前说的是Windows下的利用,如果没有看到的朋友请移步【socat在Windows下的使用】,socat…

    2022年4月10日
    158
  • interview-db[通俗易懂]

    interview-db[通俗易懂]1.索引作用和优缺点索引就一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。2.什么字段适合建索引唯一性比较高,不为空,经常查询3.常见慢查询优化1.建索引2.减少表之间的关联3.优化sql,尽量让sq…

    2022年7月21日
    12
  • PrintWriter and BufferedWriter区别和使用「建议收藏」

    PrintWriter and BufferedWriter区别和使用「建议收藏」区别:BufferedWriter:将文本写入字符输出流,缓冲各个字符从而提供单个字符,数组和字符串的高效写入。通过write()方法可以将获取到的字符输出,然后通过newLine()进行换行操作。并且BufferedWriter只能对字符流进行操作。PrintWriter:相对于BufferedWriter的好处在于,如果PrintWriter开启了自动刷新,那么当PrintWri…

    2022年6月5日
    35
  • tfs安装教程_2010版cad安装教程

    tfs安装教程_2010版cad安装教程(说明:略过IIS6.0、SQLServer和SharePoint的安装)(说明:需要注意是32位版本还是64位版本)1、配置SQLServer。打开SQLServerConfigurationManager,左边树中展开SQLServer网络配置-MSSQLSERVER的协议,确保右边的“TCP/IP”和“命名管道”全都启用,如果已经禁用则启用,如下图示: 2、

    2022年9月23日
    1
  • oracle设置用户密码永不过期_oracle密码设置无限期

    oracle设置用户密码永不过期_oracle密码设置无限期1、查看用户的proifle是哪个,一般是default:sql>SELECTusername,PROFILEFROMdba_users;2、查看指定概要文件(如default)的密码有效期设置:sql>SELECT*FROMdba_profilessWHEREs.profile=’DEFAULT’ANDresource_name=’PASSWORD_LIFE_TIME’;3、将密码有效期由默认的180天修改成“无限制”:sql>ALTERPROF

    2022年7月28日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号