关闭

C++运算符优先级

标签: c++deletefunctionc
515人阅读 评论(0) 收藏 举报
分类:

运算符优先级:

域名解析符最高;

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

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

算术双目比其它双目高;

位运算高于关系运算;

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

按位运算高于逻辑运算;

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

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

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:86876次
    • 积分:1345
    • 等级:
    • 排名:千里之外
    • 原创:43篇
    • 转载:12篇
    • 译文:0篇
    • 评论:42条
    最新评论