From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/CONTRIB/SNIP/c_prec.txt | 74 +++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 reference/C/CONTRIB/SNIP/c_prec.txt (limited to 'reference/C/CONTRIB/SNIP/c_prec.txt') diff --git a/reference/C/CONTRIB/SNIP/c_prec.txt b/reference/C/CONTRIB/SNIP/c_prec.txt new file mode 100755 index 0000000..1751853 --- /dev/null +++ b/reference/C/CONTRIB/SNIP/c_prec.txt @@ -0,0 +1,74 @@ + Operator Precedence and Associativity Rules in C / C++ + ============================================================================ + :: scope resolution (C++, e.g. name::member) left-to-right + :: global (C++, e.g. ::name) + ---------------------------------------------------------------------------- + ( ) function call left-to-right + [ ] array element + . class, structure or union member + -> pointer reference to member + :: scope access / resolution (C++) + sizeof size of object in bytes + sizeof size of type in bytes + ---------------------------------------------------------------------------- + ++ post increment (lvalue++) right-to-left + ++ pre increment (++lvalue) + -- post decrement (lvalue--) + -- pre decrement (--lvalue) + ~ bitwise complement + ! logical not + - unary minus + + unary plus + & address of + * contents of + new create object (C++) + delete destroy object (C++) + delete[] destroy array (C++) + (type) cast to type + ---------------------------------------------------------------------------- + .* member pointer (C++) left-to-right + ->* pointer reference to member pointer (C++) + ---------------------------------------------------------------------------- + * multiply left-to-right + / divide + % remainder + ---------------------------------------------------------------------------- + + add left-to-right + - subtract + ---------------------------------------------------------------------------- + << bitwise left shift left-to-right + >> bitwise right shift + ---------------------------------------------------------------------------- + < scalar less than left-to-right + <= scalar less than or equal to + > scalar greater than + >= scalar greater than or equal to + ---------------------------------------------------------------------------- + == scalar equal left-to-right + != scalar not equal + ---------------------------------------------------------------------------- + & bitwise and left-to-right + ---------------------------------------------------------------------------- + ^ bitwise exclusive or left-to-right + ---------------------------------------------------------------------------- + | bitwise or left-to-right + ---------------------------------------------------------------------------- + && logical and left-to-right + ---------------------------------------------------------------------------- + || logical inclusive or left-to-right + ---------------------------------------------------------------------------- + ? : conditional expression right-to-left + ---------------------------------------------------------------------------- + = assignment operator right-to-left + also += -= *= /= %= + &= ^= |= >>= <<= + ---------------------------------------------------------------------------- + , sequential expression left-to-right + ---------------------------------------------------------------------------- + +All of the operators in this table can be overloaded (C++) except: + + . C++ direct component selector + .* C++ dereference + :: C++ scope access/resolution + ?: Conditional -- cgit v1.2.3-54-g00ecf