读书人

C++中的自增有关问题

发布时间: 2012-09-21 15:47:26 作者: rapoo

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: “++”需要左值?
请问这是什么原理作怪啊?

[解决办法]
因为前缀返回的是引用,后缀返回的是值
[解决办法]
前置++返回的是左值,后置++返回的是右值
这在《面向对象》中是个重要的考点,也是很多人不知道的

读书人网 >C++

热点推荐