运算符优先级(c++)(1~8级)
接上篇:逻辑或、与、非、或非、与非、异或、同或运算
在c++中,运算符有一定的优先级。就像数学中的()、+、-、*、/ 等符号。我们知道,数学中的括号为第一优先级,其次是*、/,然后是+、-。那么:
How about c++?(部分运算符)
第一级别:作用域解析符:“::”。举例:
Class::age = 2;
第二级别:
1.函数调用符: () 。举例:
int b=-3;
abs(b);
2.后自增运算符/后自减运算符: ++ /-- :最明显的就是在for循环中:
//后自增运算符:
for(int i=1;i<=100;i++){
cout<<"QAQ"<<endl;
}
//后自减运算符:
for(int i=100;i>=1;i--){
cout<<"QAQ"<<endl;
}
第三级别:
1.逻辑取反:‘ ! ’。举例:
int n,k;
if(k==n){
cout<<QAQ"<<endl;
}
2.按位取反:' ~ '。见上篇。
3.正负号: + - 。不多赘述。
第四级别:类指针成员引用/类对象成员引用: “ ->* ” / “ .* ”。
第五级别:即乘、除法及取模运算。
第六级别:加减法运算。
第七级别:位左移、右移:'<< ' 、' >> '。
//位左移:
int flag=10086<<2;
//位右移:
int flag=10086>>2;
第八级别:小于、小于等于;大于、大于等于。