C++中的自增问题

晓夜寒光 2012-09-08 08:47:47
关于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: “++”需要左值?
请问这是什么原理作怪啊?
...全文
143 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SillyBenzhu 2012-09-08
  • 打赏
  • 举报
回复
前置++返回的是左值,后置++返回的是右值
这在《面向对象》中是个重要的考点,也是很多人不知道的
lw393595574 2012-09-08
  • 打赏
  • 举报
回复
因为前缀返回的是引用,后缀返回的是值
晓夜寒光 2012-09-08
  • 打赏
  • 举报
回复
真心求叫,没有人回复吗

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧