运算符优先级

关于运算符优先级可以用以下代码测试。

重载运算符不会改变其优先级。

#include<cstdio>
#include<algorithm>
using namespace std;
struct test{}s;
test operator!  (const test&){return printf("! "),s;}
test operator~  (const test&){return printf("~ "),s;}
test &operator++(const test&){return printf("++a "),s;}
test &operator--(const test&){return printf("--a "),s;}
test operator++ (const test&,int){return printf("a++ "),s;}
test operator-- (const test&,int){return printf("a-- "),s;}
test operator*  (const test&,const test&){return printf("* "),s;}
test operator/  (const test&,const test&){return printf("/ "),s;}
test operator%  (const test&,const test&){return printf("% "),s;}
test operator+  (const test&,const test&){return printf("+ "),s;}
test operator-  (const test&,const test&){return printf("- "),s;}
test operator<< (const test&,const test&){return printf("<< "),s;}
test operator>> (const test&,const test&){return printf(">> "),s;}
test operator<  (const test&,const test&){return printf("< "),s;}
test operator>  (const test&,const test&){return printf("> "),s;}
test operator<= (const test&,const test&){return printf("<= "),s;}
test operator>= (const test&,const test&){return printf(">= "),s;}
test operator== (const test&,const test&){return printf("== "),s;}
test operator!= (const test&,const test&){return printf("!= "),s;}
test operator&  (const test&,const test&){return printf("& "),s;}
test operator^  (const test&,const test&){return printf("^ "),s;}
test operator|  (const test&,const test&){return printf("| "),s;}
test operator&& (const test&,const test&){return printf("&& "),s;}
test operator|| (const test&,const test&){return printf("|| "),s;}
test operator+= (const test&,const test&){return printf("+= "),s;}
test operator-= (const test&,const test&){return printf("-= "),s;}
test operator*= (const test&,const test&){return printf("*= "),s;}
test operator/= (const test&,const test&){return printf("/= "),s;}
test operator%= (const test&,const test&){return printf("%= "),s;}
test operator&= (const test&,const test&){return printf("&= "),s;}
test operator|= (const test&,const test&){return printf("|= "),s;}
test operator^= (const test&,const test&){return printf("^= "),s;}
test operator<<=(const test&,const test&){return printf("<<= "),s;}
test operator>>=(const test&,const test&){return printf(">>= "),s;}

int main(){
	test a,b,c;
	a-=(a--)-(--a);
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值