c语言中 间接成员选择运算符,C语言操作符优先级.doc

C++语言操作符优先级

优先级运算符含??? 义示 例结合方向要求运算

对象的个数可重载性1::全局解析::x自右至左一元操作符不可重载::类域解析X::x二元操作符不可重载::名字空间作用域X::x二元操作符不可重载2.直接成员选择运算符s.len自左至右二元操作符不可重载( )圆括号可重载( )函数调用rand( )( )类型构造int( ch)[ ]下标运算符a[i]二元操作符->间接成员选择运算符p->len二元操作符++后增n++自右至左一元操作符- -后减n- -一元操作符typeid类型IDTypeid(type)自左至右typeidTypeid(expr)显示强制类运行时类型IDcast_nameexpr型转换类型转换3!逻辑非运算符!p自右至左一元操作符可重载~按位取反运算符~s++前增运算符++n- -前减运算符- -n-负号运算符-n*反引用运算符*p&求地址运算符&xnew空间分配new int(9)delete空间释放delete p(类型)类型转换运算符(int)ch二元操作符sizeof长度运算符sizeof(a)一元操作符不可重载->*指向成员操作的指针ptr->*ptr_to_member自左至右二元操作符可重载.*指向成员操作的指针Obj. *ptr_to_member4*乘法运算符m*n自左至右二元操作符可重载/除法运算符m/n%求余运算符m%n5+加法运算符m+n自左至右二元操作符可重载-减法运算符m-n6<<?左移运算符m <>?右移运算符m>>n7<?小于x ?大于x>y>=大于等于x>=y8==等于运算符x==y自左至右二元操作符可重载!=不等于运算符x!=y9&按位与运算符s&t自左至右二元操作符可重载10^按位异或运算符s^t自左至右二元操作符可重载11|按位或运算符s|t自左至右二元操作符可重载12&&逻辑与运算符u&&v自左至右二元操作符可重载13||逻辑或运算符u||v自左至右二元操作符可重载14??:条件运算符u? x : y自左至右三元操作符不可重载15=赋值运算符n=22自右至左二元操作符可重载+=先加,再赋值n+=8-=先减,再赋值n-=4*=先乘,再赋值n*= -1/=先除,再赋值n/10%=先求余,再赋值n%=10>>=先左移位,再赋值n>>=1<<=先右移位,再赋值N<<=1&=先按位与,再赋值s&=mask^=先按位异或,再赋值s^=mask|=先按位或,再赋值s|=mask16,逗号运算符++m,- -n自左至右?可重载

运算符优先级记忆方法:

结合性有两种,一种是自左至右,另一种是自右至左,大部分运算符的结合性是自左至右,只有单目运算符、三目运算符的赋值运算符的结合性自右至左。优先级有15种。记忆方法如下:记住一个最高的:构造类型的元素或成员以及小括号。 记住一个最低的:逗号运算符。 剩余的是一、二、三、赋值。意思是单目、双目、三目和赋值运算符。 在诸多运算符中,又分为: 算术、关系、逻辑。 两种位操作运算符中,移位运算符在算术运算符后边,逻辑位运算符在逻辑运算符的前面。再细分如下:算术运算符分 *,/,%高于+,-。关系运算符中,》,》=,《,〈=高于==,!=。逻辑运算符中,除了逻辑求反(!)是单目外,逻辑与(&&)高于逻辑或(||)。 逻辑位运算符中,除了逻辑按位求反(~)外,按位与(&)高于按位半加(^),高于按位或(|)。这样就将15种优先级都记住了,再将记忆方法总结如下:去掉一个最高的,去掉一个最低的,剩下的是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值