C++ - Operator Precedence

来源:互联网 发布:chrome 调试 js 编辑:程序博客网 时间:2024/05/17 21:39

The following table lists the precedence and associativity of C++ operators. Operators are listed top to bottom, in descending precedence.

PrecedenceOperatorDescriptionAssociativity1::Scope resolutionLeft-to-right2++  --Suffix/postfix increment and decrementtype()type{}Function-style type cast()Function call[]Array subscripting.Element selection by reference->Element selection through pointer3++  --Prefix increment and decrementRight-to-left+  -Unary plus and minus!  ~Logical NOT and bitwise NOT(type)C-style type cast*Indirection (dereference)&Address-ofsizeofSize-ofnew,new[]Dynamic memory allocationdelete,delete[]Dynamic memory deallocation4.*  ->*Pointer to memberLeft-to-right5*  /  %Multiplication, division, and remainder6+  -Addition and subtraction7<<  >>Bitwise left shift and right shift8<  <=For relational operators < and ≤ respectively>  >=For relational operators > and ≥ respectively9==  !=For relational = and ≠ respectively10&Bitwise AND11^Bitwise XOR (exclusive or)12|Bitwise OR (inclusive or)13&&Logical AND14||Logical OR15?:Ternary conditionalRight-to-left=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 OR16throwThrow operator (for exceptions)17,CommaLeft-to-right
12 2
原创粉丝点击