[英]assigning a variable to pre-increment variable and post increment variable?
以下两个作业有什么区别?
#include<iostream>
using namespace std;
int main(){
int a=10,i=0;
++i = a //COMPILES WITHOUT ERROR
i++ = a //GIVES AN ERROR LVALUE NEEDED
}
为什么第二个作业会产生错误?
++i
返回的新值i
的递增后。 该值是一个左值 ,在这种情况下称为i
。 修改i
当然是允许的。
但i++
回报的原值i
的递增前。 该值是一个rvalue ,即一个未命名的临时值。 C ++中不允许修改右值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.