C++中的自增问题
关于C++的自增问题,我想百度一下,有很多,无非是两点:前缀,先增后用;后缀,先用后增!
在此我想询问一下自增实现原理是什么?
比如:最近看了一道学究题,一般项目不敢写的:两个前缀++和两个后缀++
#include <iostream>
using namespace std;
int main ()
{
int nIncrement = 10;
int nResult = ++++nIncrement;
cout << nResult << endl;
nIncrement = 10;
nResult = nIncrement++++;
cout << nResult << endl;
return 0;
}
为什么两个前缀可以使用,而两个后缀报error C2105: “++”需要左值?
请问这是什么原理作怪啊?
[解决办法]
因为前缀返回的是引用,后缀返回的是值
[解决办法]
前置++返回的是左值,后置++返回的是右值
这在《面向对象》中是个重要的考点,也是很多人不知道的