zoukankan      html  css  js  c++  java
  • C/C++ 操作符优先级

    不能光转贴,有空要熟悉之后,要写点心得。现在发现 . 的优先级确实很高。

    C:

    PrecedenceOperatorDescriptionAssociativity
    1 ++ -- Suffix/postfix increment and decrement Left-to-right
    () Function call
    [] Array subscripting
    . Structure and union member access
    −> Structure and union member access through pointer
    (type){list} Compound literal(C99)
    2 ++ -- 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
    _Alignof Alignment requirement(C11)
    3 * / % Multiplication, division, and remainder Left-to-right
    4 +  Addition and subtraction
    5 << >> Bitwise left shift and right shift
    6 < <= For relational operators < and ≤ respectively
    > >= For relational operators > and ≥ respectively
    7 == != For relational = and ≠ respectively
    8 & Bitwise AND
    9 ^ Bitwise XOR (exclusive or)
    10 | Bitwise OR (inclusive or)
    11 && Logical AND
    12 || Logical OR
    13 ?: Ternary conditional Right-to-Left
    14 = Simple assignment
    += −= 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
    15 , Comma Left-to-right

    C++:

    PrecedenceOperatorDescriptionAssociativity
    1 :: Scope resolution Left-to-right
    2 ++   -- Suffix/postfix increment and decrement
    () Function call
    [] Array subscripting
    . Element selection by reference
    −> Element selection through pointer
    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
    = 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
    16 throw Throw operator (for exceptions)
    17 , Comma Left-to-right

    很有意思的几个举例:

    http://www.cnblogs.com/maowang1991/archive/2012/12/07/2807086.html

  • 相关阅读:
    我们应该如何防范黑客的攻击? 有哪些棘手问题?
    德国网络安全公司Avira被收购,估值为1.8亿美元
    物联网会成为黑客攻击的目标,智慧城市如何才安全?
    因新型冠状病毒,笔记本电脑销售增长,人们寻求更好的设备进行远程工作
    从电脑维修工到互联网大佬,他是怎么做到的?解读郭盛华最真实的传奇生涯
    企业防御网络风险保护计划的5个步骤
    加载失败图片加样式
    请求接口无权限
    iview button根据条件 disabled可用或者不可用
    vue跨组件传值
  • 原文地址:https://www.cnblogs.com/findumars/p/3697083.html
Copyright © 2011-2022 走看看