| 優(yōu)先級 | 操作符 | 描述 | 例子 | 結合性 |
|---|---|---|---|---|
| 1 | ()[]->.::++-- | 調(diào)節(jié)優(yōu)先級的括號操作符數(shù)組下標訪問操作符通過指向對象的指針訪問成員的操作符通過對象本身訪問成員的操作符作用域操作符后置自增操作符后置自減操作符 | (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 | 邏輯取反操作符按位取反(按位取補)前置自增操作符前置自減操作符一元取負操作符一元取正操作符解引用操作符取地址操作符類型轉換操作符返回對象占用的字節(jié)數(shù)操作符 | 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 | */% | 乘法操作符除法操作符取余數(shù)操作符 | 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 ++ ) ... | 從左到右 |
手打真費勁。。。。
新聞熱點
疑難解答
圖片精選