<dd id="fwsuh"></dd><dd id="fwsuh"></dd>


  • <rp id="fwsuh"></rp>

        <em id="fwsuh"><acronym id="fwsuh"><u id="fwsuh"></u></acronym></em>

        優先級 運算符 描述 結合性
        1 :: 范圍解析 自左向右
        2 ++  -- 后綴自增/后綴自減
        () 括號
        [] 數組下標
        . 成員選擇(對象)
        ?> 成員選擇(指針)
        3 ++  -- 前綴自增/前綴自減 自右向左
        +  ? 加/減
        !  ~ 邏輯非/按位取反
        (type) 強制類型轉換
        * 取指針指向的值
        & 某某的地址
        sizeof 某某的大小
        new,new[] 動態內存分配/動態數組內存分配
        delete,delete[] 動態內存釋放/動態數組內存釋放
        4 .*  ->* 成員對象選擇/成員指針選擇 自左向右
        5 *  /   % 乘法/除法/取余
        6 +  ? 加號/減號
        7 <<  >> 位左移/位右移
        8 <  <= 小于/小于等于
        >  >= 大于/大于等于
        9 ==  != 等于/不等于
        10 & 按位與
        11 ^ 按位異或
        12 | 按位或
        13 && 與運算
        14 || 或運算
        15 ?: 三目運算符 自右向左
        16 = 賦值
        +=  ?= 相加后賦值/相減后賦值
        *=  /=   %= 相乘后賦值/相除后賦值/取余后賦值
        <<=  >>= 位左移賦值/位右移賦值
        &=  ^=  |= 位與運算后賦值/位異或運算后賦值/位或運算后賦值
        17 throw 拋出異常
        18 , 逗號 自左向右

        C++運算符優先級舉例說明

        優先級 運算符 描述 例子 結合性
        1 ()
        []
        ->
        .
        ::
        ++
        --
        調節優先級的括號操作符
        數組下標訪問操作符
        通過指向對象的指針訪問成員的操作符
        通過對象本身訪問成員的操作符
        作用域操作符
        后置自增操作符
        后置自減操作符
        (a+b)/4;
        array[4]=2;
        ptr->age=34;
        obj.age=34;
        Class::age=2;
        for(i=0;i<10;i++)...
        for(i=10;i>0;i--)...
        從左到右
        2 !
        ~
        ++
        --
        -
        +
        *
        &
        (type)
        sizeof
        邏輯取反操作符
        按位取反(按位取補) 
        前置自增操作符
        前置自減操作符
        一元取負操作符
        一元取正操作符
        解引用操作符
        取地址操作符
        類型轉換操作符
        返回對象占用的字節數操作符
        if(!done)...
        flags=~flags;
        for(i=0;i<10;++i)...
        for(i=10;i>0;--i)...
        int i=-1;
        int i=+1;
        data=*ptr;
        address=&obj;
        int i=(int)floatNum;
        int size=sizeof(floatNum);
        從右到左
        3 ->*
        .*
        在指針上通過指向成員的指針訪問成員的操作符
        在對象上通過指向成員的指針訪問成員的操作符
        ptr->*var=24;
        obj.*var=24;
        從左到右
        4 *
        /
        %
        乘法操作符
        除法操作符
        取余數操作符
        int i=2*4;
        float f=10/3;
        int rem=4%3;
        從左到右
        5 +
        -
        加法操作符
        減法操作符
        int i=2+3;
        int i=5-1;
        從左到右
        6 <<
        >>
        按位左移操作符
        按位右移操作符
        int flags=33<<1;
        int flags=33>>1;
        從左到右
        7 <
        <=
        >
        >=
        小于比較操作符
        小于或等于比較操作符
        大于比較操作符
        大于或等于比較操作符
        if(i<42)...
        if(i<=42)...
        if(i>42)...
        if(i>=42)...
        從左到右
        8 ==
        !=
        等于比較操作符
        不等于比較操作符
        if(i==42)...
        if(i!=42)...
        從左到右
        9 & 按位與操作符 flags=flags&42; 從左到右
        10 ^ 按位異或操作符 flags=flags^42; 從左到右
        11 | 按位或操作符 flags=flags|42; 從左到右
        12 && 邏輯與操作符 if(conditionA&&conditionB)... 從左到右
        13 || 邏輯或操作符 if(conditionA||conditionB)... 從左到右
        14 ?: 三元條件操作符 int i=(a>b)?a:b; 從右到左
        15 =
        +=
        -=
        *=
        /=
        %=
        &=
        ^=
        |=
        <<=
        >>=
        賦值操作符
        復合賦值操作符(加法)
        復合賦值操作符(減法)
        復合賦值操作符(乘法)
        復合賦值操作符(除法)
        復合賦值操作符(取余)
        復合賦值操作符(按位與)
        復合賦值操作符(按位異或)
        復合賦值操作符(按位或)
        復合賦值操作符(按位左移)
        復合賦值操作符(按位右移)
        int a=b;
        a+=3;
        b-=4;
        a*=5;
        a/=2;
        a%=3;
        flags&=new_flags;
        flags^=new_flags;
        flags|=new_flags;
        flags<<=2;
        flags>>=2;
        從右到左
        16 , 逗號操作符 for(i=0,j=0;i<10;i++,j++)... 從左到右

        在線工具導航