关于自增运算符的问题

xlbdan xlbdan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在<<pointers on C>>里说,这种:

int a=0;
++a=10; //应该是不能通过编译的,因为++a返回的是一个右值,对右值无法赋值



我做了一下试验,结果发现与书不一致:

++a=10; //能正常运算,当然结果是10
a++=10; //不能通过编译


而我原以为++a=10的确不应该通过,而a++应该通过才对.
另外根据C++里写重载++操作符的作法,应该是两种方法都能通过编译才是.
没想到实验结果是上面那样.

为什么会出现这种情况呢?
...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
xlbdan
C++ 语言 65,214 成员 250,514 内容