C++:运算符优先级列表

转载 2008年09月28日 11:13:00

Precedence Operator Description Example Associativity
1 ()
[]
->
.
::
++
--
Grouping operator
Array access
Member access from a pointer
Member access from an object
Scoping operator
Post-increment
Post-decrement
(a + b) / 4;
array[4] = 2;
ptr->age = 34;
obj.age = 34;
Class::age = 2;
for( i = 0; i < 10; i++ ) ...
for( i = 10; i > 0; i-- ) ...
left to right
2 !
~
++
--
-
+
*
&
(type)
sizeof
Logical negation
Bitwise complement
Pre-increment
Pre-decrement
Unary minus
Unary plus
Dereference
Address of
Cast to a given type
Return size in bytes
if( !done ) ...
flags = ~flags;
for( i = 0; i < 10; ++i ) ...
for( i = 10; i > 0; --i ) ...
int i = -1;
int i = +1;
data = *ptr;
address = &obj;
int i = (int) floatNum;
int size = sizeof(floatNum);
right to left
3 ->*
.*
Member pointer selector
Member pointer selector
ptr->*var = 24;
obj.*var = 24;
left to right
4 *
/
%
Multiplication
Division
Modulus
int i = 2 * 4;
float f = 10 / 3;
int rem = 4 % 3;
left to right
5 +
-
Addition
Subtraction
int i = 2 + 3;
int i = 5 - 1;
left to right
6 <<
>>
Bitwise shift left
Bitwise shift right
int flags = 33 << 1;
int flags = 33 >> 1;
left to right
7 <
<=
>
>=
Comparison less-than
Comparison less-than-or-equal-to
Comparison greater-than
Comparison geater-than-or-equal-to
if( i < 42 ) ...
if( i <= 42 ) ...
if( i > 42 ) ...
if( i >= 42 ) ...
left to right
8 ==
!=
Comparison equal-to
Comparison not-equal-to
if( i == 42 ) ...
if( i != 42 ) ...
left to right
9 & Bitwise AND flags = flags & 42; left to right
10 ^ Bitwise exclusive OR flags = flags ^ 42; left to right
11 | Bitwise inclusive (normal) OR flags = flags | 42; left to right
12 && Logical AND if( conditionA && conditionB ) ... left to right
13 || Logical OR if( conditionA || conditionB ) ... left to right
14 ? : Ternary conditional (if-then-else) int i = (a > b) ? a : b; right to left
15 =
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
Assignment operator
Increment and assign
Decrement and assign
Multiply and assign
Divide and assign
Modulo and assign
Bitwise AND and assign
Bitwise exclusive OR and assign
Bitwise inclusive (normal) OR and assign
Bitwise shift left and assign
Bitwise shift right and assign
int a = b;
a += 3;
b -= 4;
a *= 5;
a /= 2;
a %= 3;
flags &= new_flags;
flags ^= new_flags;
flags |= new_flags;
flags <<= 2;
flags >>= 2;
right to left
16 , Sequential evaluation operator for( i = 0, j = 0; i < 10; i++, j++ ) ... left to right
http://www.cppreference.com/wiki/operator_precedence

C 语言运算符优先级(记忆口诀)

优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括...
  • u013630349
  • u013630349
  • 2015年08月12日 15:09
  • 7257

C语言中++自增运算符后置时的使用说明(附C语言运算符优先级表)

自增运算符后置情形下的探索。
  • ds1231h
  • ds1231h
  • 2015年11月30日 00:54
  • 2144

C#中38个常用的运算符优先级的划分和理解

在C#中,一共有38个常用的运算符,根据它们所执行运算的特点和它们的优先级,为了便于记忆,我将它们归为七个等级:1、单元运算符和括号。2、常规算术运算符。3、位移运算符。4、比较运算符。5、逻辑运算符...
  • Leijin_Qin
  • Leijin_Qin
  • 2016年11月24日 22:26
  • 1315

C++ 运算符优先级列表 pdf

  • 2011年05月30日 20:55
  • 34KB
  • 下载

C++ 运算符优先级列表及学习注解

PrecedenceOperatorDescriptionExampleAssociativity1()[]->.::++--Grouping operatorArray accessMember a...
  • FG2006
  • FG2006
  • 2011年04月06日 20:39
  • 1067

C++运算符优先级表

  • 2015年05月31日 20:02
  • 14KB
  • 下载

C++运算符优先级

  • 2013年01月09日 10:51
  • 149KB
  • 下载

C++ 运算符优先级列表

  • 2011年10月26日 08:10
  • 47KB
  • 下载

c++运算符优先级

  • 2013年04月20日 20:21
  • 16KB
  • 下载

c和c++运算符优先级

  • 2012年10月18日 19:52
  • 196KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++:运算符优先级列表
举报原因:
原因补充:

(最多只允许输入30个字)