----- Original Message ----- From: Jacek M. Holeczek <holeczek@us.edu.pl> To: roottalk <roottalk@hpsalo.cern.ch> Sent: 16 мая 1999 г. 9:50 Subject: my poor C knowledge > Hi, > I try, and try, and try, ... to understand what the following piece of C > code is supposed to do, but I can't : > if(mparen==0||G__return!=G__RETURN_NON>G__RETURN_NORMAL) return(G__null) Whatever this means the result should be defined by the table below (borrowed VC++ On-line help) (I hope this table has no M$ specifii yet ) Hope this helps, Valery ========================================================== C++ Operators Operators specify an evaluation to be performed on one of the following: - One operand (unary operator) - Two operands (binary operator) - Three operands (ternary operator) The C++ language includes all C operators and adds several new operators. Table 1.1 lists the operators available in Microsoft C++. Operators follow a strict precedence which defines the evaluation order of expressions containing these operators. Operators associate with either the expression on their left or the expression on their right; this is called "associativity." Operators in the same group have equal precedence and are evaluated left to right in an expression unless explicitly forced by a pair of parentheses, ( ). Table 1.1 shows the precedence and associativity of C++ operators (from highest to lowest precedence). Table 1.1 C++ Operator Precedence and Associativity Operator Name or Meaning Associativity ======== =============== ============= :: Scope resolution None :: Global None [ ] Array subscript Left to right ( ) Function call Left to right ( ) Conversion None . Member selection (object) Left to right -> Member selection (pointer) Left to right ++ Postfix increment None -- Postfix decrement None new Allocate object None delete Deallocate object None delete[ ] Deallocate object None ++ Prefix increment None -- Prefix decrement None * Dereference None & Address-of None + Unary plus None - Arithmetic negation (unary) None ! Logical NOT None ~ Bitwise complement None sizeof Size of object None sizeof ( ) Size of type None typeid( ) type name None (type) Type cast (conversion) Right to left const_cast Type cast (conversion) None dynamic_cast Type cast (conversion) None reinterpret_cast Type cast (conversion) None static_cast Type cast (conversion) None .* Apply pointer to class member (objects) Left to right ->* Dereference pointer to class member Left to right * Multiplication Left to right / Division Left to right % Remainder (modulus) Left to right + Addition Left to right - Subtraction Left to right << Left shift Left to right >> Right shift Left to right < Less than Left to right > Greater than Left to right <= Less than or equal to Left to right >= Greater than or equal to Left to right == Equality Left to right != Inequality Left to right & Bitwise AND Left to right ^ Bitwise exclusive OR Left to right | Bitwise OR Left to right && Logical AND Left to right || Logical OR Left to right e1?e2:e3 Conditional Right to left = Assignment Right to left *= Multiplication assignment Right to left /= Division assignment Right to left %= Modulus assignment Right to left += Addition assignment Right to left -= Subtraction assignment Right to left <<= Left-shift assignment Right to left >>= Right-shift assignment Right to left &= Bitwise AND assignment Right to left |= Bitwise inclusive OR assignment Right to left ^= Bitwise exclusive OR assignment Right to left , Comma Left to right
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:33 MET