C++运算符优先级

原创 2012年03月21日 18:42:52

运算符优先级:

域名解析符最高;

然后是前置增量符/前置减量符/括号/数组下标/指针访问符;

单目运算符比双目运算符高;

算术双目比其它双目高;

位运算高于关系运算;

关系运算高于按位运算(&, |, ^);

按位运算高于逻辑运算;

三目的只有一个条件运算(?:),低于逻辑运算

赋值运算仅比 , (顺序运算)高

Precedence Operator Description Associativity
1 :: Scope resolution Left-to-right
2 ++ -- Suffix/postfix increment and decrement
() Function call
[] Array subscripting
. Element selection by reference
-> Element selection through pointer
typeid() Run-time type information (see typeid)
const_cast Type cast (see const_cast)
dynamic_cast Type cast (see dynamic_cast)
reinterpret_cast Type cast (see reinterpret_cast)
static_cast Type cast (see static_cast)
3 ++ -- Prefix increment and decrement Right-to-left
+ - Unary plus and minus
! ~ Logical NOT and bitwise NOT
(type) Type cast
* Indirection (dereference)
& Address-of
sizeof Size-of
newnew[] Dynamic memory allocation
deletedelete[] Dynamic memory deallocation
4 .* ->* Pointer to member Left-to-right
5 * / % Multiplication, division, and remainder
6 + - Addition and subtraction
7 << >> Bitwise left shift and right shift
8 < <= For relational operators < and ≤ respectively
> >= For relational operators > and ≥ respectively
9 == != For relational = and ≠ respectively
10 & Bitwise AND
11 ^ Bitwise XOR (exclusive or)
12 | Bitwise OR (inclusive or)
13 && Logical AND
14 || Logical OR
15 ?: Ternary conditional Right-to-Left
16 = Direct assignment (provided by default for C++ classes)
+= -= Assignment by sum and difference
*= /= %= Assignment by product, quotient, and remainder
<<= >>= Assignment by bitwise left shift and right shift
&= ^= |= Assignment by bitwise AND, XOR, and OR
17 throw Throw operator (exceptions throwing)
18 , Comma Left-to-right

一个例子让你明白C++的运算符优先级

算术运算符 关系运算符 赋值运算符   这是她们的优先级   借助这个例子就会记住啦:             int a=1,b=1,c=0;             c= a+b=...
  • bailu66
  • bailu66
  • 2012年03月30日 17:39
  • 954

C++ 运算符的优先级和结合性

运算符的优先级和结合性 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 后置++ 后置自增运算符 变量名++ 左到右 后置--...
  • lfb_2048
  • lfb_2048
  • 2017年03月14日 12:01
  • 2458

【C++】《C++ Primer Plus》笔记(5)——运算符优先级

递增运算符++和递减运算符-- 它们都有点缀和后缀表达式两种。两个版本对操作数的影响是一样的,但是相应的时间不一样,执行的速度可能有细微的差别如果有用户定义的前缀和后缀运算符,使用前缀格式要比使用后缀...
  • icurious
  • icurious
  • 2017年02月28日 08:54
  • 224

写代码不能太偷懒 -- 关于c/c++运算符优先级

使用了c编程也有十几个年头的,今天居然因为一个运算符优先级的问题调试程序用了1个多小时。 int TransSock(int nReadSock, int nWriteSock) { c...
  • paky_du
  • paky_du
  • 2018年01月07日 15:48
  • 25

C++ 运算符优先级和结合性(MSDN)

 
  • zhujiangm
  • zhujiangm
  • 2007年11月17日 17:32
  • 1240

运算符优先级-C++运算符优先级

运算符优先级-C++运算符优先级
  • pc_286
  • pc_286
  • 2015年11月30日 13:51
  • 209

Linux C/C++ 运算符:种类、优先级、结合性

一、C语言运算符优先级 详细列表 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] ...
  • kanguolaikanguolaik
  • kanguolaikanguolaik
  • 2015年04月14日 22:47
  • 1390

面试笔记4(运算符及优先级)

.。。。
  • u014734779
  • u014734779
  • 2015年05月28日 14:31
  • 245

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

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

C++运算符优先级

优先级 操作符 描述 例子 结合性 1 () [] -> . :: ++ -- 调节优先级的括号操作符 数组下标访问操作符 通过指向对象的指针访问成员的操作符 ...
  • Study_2011
  • Study_2011
  • 2013年09月04日 00:03
  • 463
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++运算符优先级
举报原因:
原因补充:

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