短路运算符就是我们常用的“&&”、“||”,一般称为“条件操作”,短路运算符只能用于逻辑表达式内。非短路运算符则是“& 与”、“| 或”、“^ 异或”,一般称为“逻辑操作”,非短路运算符可用于位表达式和逻辑表达式内。
短路运算符:在逻辑表达式中,如果能通过逻辑运算符左边表达式的值就能推算出整个表达式的值,那么将不再继续执行逻辑运算符右边的表达式。
短路运算符就是我们常用的“&&”、“||”,一般称为“条件操作”。
非短路运算符:始终执行逻辑表达式两边的表达式。
非短路运算符包括 “& 与”、“| 或”、“^ 异或”,一般称为“逻辑操作”
举例如下:
C++代码
- int a, b, c, d, m, n;
- a = b = c = d = m = n = 0;
- if((m = a ==b) || (n = c == d)){
- printf("m:%d, n:%d",m ,n);
- }
此示例执行结果会输出:
m:1, n:0
再看如下例子:
C++代码
- int a, b, c, d, m, n;
- a = b = c = d = m = n = 0;
- if((m = a ==b) || (n = c == d)){
- printf("m:%d, n:%d",m ,n);
- }
此示例执行结果会输出:
m:1, n:1
“短路”意味着运算符只对必要的部分求值,而不是整个表达式。当逻辑运算符两边的表达式都必须要执行时,应分别单独的使用语句,然后再进行逻辑判断;否则,选择使用短路运算符,则可以提高程序的运行效率,特别是此模块被调用频繁的情况下。开发者善于利用短路运算符可以提高性能且简化代码。