请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,这个左右值怎么理解?

int a =2;
int* pa=&a;
++pa=&a;
pa++=&a //error 报错

++pa能作为左值但是pa++不可以;这点要怎么理解呢?
结合顺序是不这样?
++pa=&a;-》(++pa)=&a;
pa++=&a-》(pa)++=&a

正在回答

1回答

++pa 表达式的结果是 pa,自然是左值。pa++表达式的结果是一个临时变量,是右值。
0 回复 有任何疑惑可以回复我~
  • 提问者 我想跑路 #1
    临时变量是不是这么理解:右值是要赋给自增前的左值,但是左值已经自增了,自增前的左值并不存在,只能相当于一个临时变量
    回复 有任何疑惑可以回复我~ 2022-10-26 11:04:28
  • 【都要毕业了,C/C++ 的左值和右值还傻傻分不清楚?-哔哩哔哩】 https://b23.tv/vTdxoGU
    同学可以参考下这个视频,C++的类似
    回复 有任何疑惑可以回复我~ 2022-10-26 12:07:26
  • 提问者 我想跑路 回复 bennyhuo #3
    好的谢谢老师1
    回复 有任何疑惑可以回复我~ 2022-10-27 22:27:52
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信