作业帮 > 综合 > 作业

C++短路求值 是否一律从左向右运算,是否要考虑括号的作用?如bool P=false; bool Q=true; bo

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 18:26:24
C++短路求值 是否一律从左向右运算,是否要考虑括号的作用?如bool P=false; bool Q=true; bool R=true;
1)(P||Q&&R)&&(33))
是否可以短路求值?
请尽量具体,
括号不会影响求值顺序.括号是用来干预运算符优先级的,影响的是运算符和操作数的结合关系.比如1 * 2 / (3 + 4)里括号使3和原本优先级比较低的+结合,而不是原本优先级高的/结合.但是对于/左右的求值顺序,依然是先处理左边没有括号的1 * 2
原则上表达式求值永远是从左到右,不过C++因为编译器种类太多,有的编译器在涉及赋值运算的时候会制造一些比较怪异的求值顺序,但是这个和逻辑运算符也没关系.