Operator Precendence in C++
-----------------------------------------------------------------------------------------------
Precedence Operator Description Associativity
-----------------------------------------------------------------------------------------------
1 :: scope Resolution Left to right
-----------------------------------------------------------------------------------------------
2 a++ a-- Postfix incre/decre Left to right
type() type{} Functioncal cast
a() function call
[] subscript
-> . Member Access
-----------------------------------------------------------------------------------------------
3 ++a --a Prefix incre/decre Right to left
+ - Unary
! ~ Logical NOT,bitwise NOT
(type)* C-style typecast
& Address of
sizeof size-of
co_await await expression
new new[] Dynamic memory allocation
delete delete[] Dynamic memory De-allocation
-----------------------------------------------------------------------------------------------
4 . * ->* pointer to member Left to right
5 * / % Multiplicative
6 + - Additive
7 << >> Shift
8 <=> Three way comparsion
9 < <= > >= Relational
10 == != Equality
11 & Bitwise AND
12 ^ Bitwise XOR
13 | Bitwise OR
14 && Logical AND
15 || Logical OR
----------------------------------------------------------------------------------------------
16 ?: Conditional Right to left
throw Throw Operator
co_yield yield Expression
= Assignment
+= -= *= /= %=>>= <<= &= ^= |= Compound Assignment
---------------------------------------------------------------------------------------------
17 , Comma Left to right
------------------------------------------------------------------------------