首先使用哪个运算符? 我刚刚在我的C++课上做了一个测试,其中一个我错了的问题是:

首先使用哪个运算符? 我刚刚在我的C++课上做了一个测试,其中一个我错了的问题是:,c++,operators,C++,Operators,请看下面的陈述。 而(x++ 3个一元数!++--*& 4乘、除、模*/% 5加、减+- 6向右、向左>>这是优先顺序 1 Parenthesis () [] 2 Structure Access . -> 3 Unary ! ++ -- * & 4 Multiply,Divide,Modulus * / % 5 Add,Subtract

请看下面的陈述。 而(x++<10) 首先使用哪个运算符


我的答案是+,但是测试告诉我你是对的<代码>运算符+++的优先级高于
运算符你说得对
operator++
的优先级高于
operator我怀疑这是因为
x++
是后增量。所以你可以说它先把x和10比较,然后再把一和x相加

如果是
++x
,那么应该先进行添加


我认为这是一个有点诡计的问题,因为就运算符优先级而言,
++
的优先级高于
,我怀疑这是因为
x++
是一个后增量。所以你可以说它先把x和10比较,然后再把一和x相加

如果是
++x
,那么应该先进行添加


我认为这是一个有点诡计的问题,因为就运算符优先级而言,
++
的优先级高于
x
是一种带有用户定义后缀
operator++
的类型时,则必须首先计算
++


对于内置类型的
x
,我不确定是否可以对订购说些什么。

如果
x
是一种带有用户定义后缀
运算符+
的类型,则必须首先评估
++


对于内置类型的
x
,我不确定是否可以对订购说些什么。

这是优先顺序

1  Parenthesis                    () []
2  Structure Access               .  ->
3  Unary                          ! ++ -- * &
4  Multiply,Divide,Modulus        * / %
5  Add,Subtract                   + -
6  Shift Right,Left               >> <<
7  Greater,Less than etc          > < => <=
8  Equal , Not Equal              ==  !=
9  Bitwise AND                    &
10 Bitwise OR                     |
11 Logical AND                    &&
12 Logical OR                     ||
13 Conditional Expression         ? :
14 Assignment                     = += -= etc
15 comma                          . 
1括号()[]
2结构访问。->
3个一元数!++--*&
4乘、除、模*/%
5加、减+-

6向右、向左>><=>这是优先顺序

1  Parenthesis                    () []
2  Structure Access               .  ->
3  Unary                          ! ++ -- * &
4  Multiply,Divide,Modulus        * / %
5  Add,Subtract                   + -
6  Shift Right,Left               >> <<
7  Greater,Less than etc          > < => <=
8  Equal , Not Equal              ==  !=
9  Bitwise AND                    &
10 Bitwise OR                     |
11 Logical AND                    &&
12 Logical OR                     ||
13 Conditional Expression         ? :
14 Assignment                     = += -= etc
15 comma                          . 
1括号()[]
2结构访问。->
3个一元数!++--*&
4乘、除、模*/%
5加、减+-

6向右、向左移动>><=>这是一个措辞糟糕的问题;先用是什么意思?表达式
x++
的值计算将首先进行,但其副作用(增加
x
的值)的应用将在计算
x<10
运算符+++
后进行,这意味着增加并返回以前的值。这是一个单独的操作,其优先级高于
运算符。它实际上并不重要。计算x的值,然后将该值与10进行比较,并以基本上无关紧要的顺序递增x。如果x出现在RHS上,这将是重要的,因为有两件事:运算符优先级和求值顺序。没有什么是“先用”的,因为“简单”这个词不存在,这是一个措辞糟糕的问题;先用是什么意思?表达式
x++
的值计算将首先进行,但其副作用(增加
x
的值)的应用将在计算
x<10
运算符+++
后进行,这意味着增加并返回以前的值。这是一个单独的操作,其优先级高于
运算符。它实际上并不重要。计算x的值,然后将该值与10进行比较,并以基本上无关紧要的顺序递增x。如果x出现在RHS上,这将是重要的,因为有两件事:运算符优先级和求值顺序。没有什么是“先用”的,因为这个词的定义并不简单exist@Cheersandhth.-Alf是否足够?请注意,(有效)运算符优先级不会告诉您求值顺序。尤其是函数参数的求值顺序未指定,即使函数调用用作另一个调用的实际参数,
f(a1,a2,g(a3,a4))
。这里您可以说的是
a3
a4
必须在调用
g
之前进行计算,这必须发生在调用
f
之前,但是
a1
a2
可以在调用
g
之前或之后进行计算。对于内置类型的后缀
x++
No所需的一切。内置操作符不是原子整体。Postfix++有两种不同的效果:生成原始值和修改。该标准说,“在修改操作数对象之前,++表达式的值计算是按顺序排列的”,但这就是我所看到的。没有任何关于修改顺序的信息。事实上,该标准进一步指出,“对于不确定顺序的函数调用,postfix++的操作是一个单独的计算”,也就是说,这在一般情况下是不能保证的。这取决于模糊问题中“使用”的实际含义。postfix++表达式的值是在比较之前计算出来的,但副作用可能是,也可能不是。@cheers-sandhth.-Alf是否足够?请注意,(有效)运算符优先级不会告诉您计算顺序。尤其是函数参数的求值顺序未指定,即使函数调用用作另一个调用的实际参数,
f(a1,a2,g(a3,a4))
。这里您可以说的是
a3
a4
必须在调用
g
之前进行计算,这必须发生在调用
f
之前,但是
a1
a2
可以在调用
g
之前或之后进行计算。对于内置类型的后缀
x++
No所需的一切。内置操作符不是原子整体。Postfix++有两种不同的效果:生成原始值和修改。该标准规定“计算