短路运算符:条件运算与逻辑运算符

短路运算符就是我们常用的“&&”、“||”,一般称为“条件操作”,短路运算符只能用于逻辑表达式内。非短路运算符则是“& 与”、“| 或”、“^ 异或”,一般称为“逻辑操作”,非短路运算符可用于位表达式和逻辑表达式内。

短路运算符:在逻辑表达式中,如果能通过逻辑运算符左边表达式的值就能推算出整个表达式的值,那么将不再继续执行逻辑运算符右边的表达式。
短路运算符就是我们常用的“&&”、“||”,一般称为“条件操作”。

非短路运算符:始终执行逻辑表达式两边的表达式。
非短路运算符包括 “& 与”、“| 或”、“^ 异或”,一般称为“逻辑操作”

举例如下:

C++代码
  1. int a, b, c, d, m, n;   
  2. a = b = c = d = m = n = 0;   
  3. if((m = a ==b) || (n = c == d)){   
  4.     printf("m:%d, n:%d",m ,n);   
  5. }  

此示例执行结果会输出:

m:1, n:0

再看如下例子:

C++代码
  1. int a, b, c, d, m, n;   
  2. a = b = c = d = m = n = 0;   
  3. if((m = a ==b) || (n = c == d)){   
  4.     printf("m:%d, n:%d",m ,n);   
  5. }  

此示例执行结果会输出:

m:1, n:1

“短路”意味着运算符只对必要的部分求值,而不是整个表达式。当逻辑运算符两边的表达式都必须要执行时,应分别单独的使用语句,然后再进行逻辑判断;否则,选择使用短路运算符,则可以提高程序的运行效率,特别是此模块被调用频繁的情况下。开发者善于利用短路运算符可以提高性能且简化代码。

点赞 (0)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.