日升月落

日升月落
日升月落的技术博客
  1. 首页
  2. 程序员
  3. 正文

x++为什么不能做左值

2009年5月12日 827点热度 1人点赞 0条评论

x++

?
1
2
3
4
5
{
    int temp = x;
    x = x + 1;
    return temp; // 返回右值
}

++x

?
1
2
3
4
{
    x = x + 1;
    return &x; // 返回左值
}

不难看出,x++返回的是临时变量temp, ++x返回x的引用,就是x。
临时变量temp无法寻址,自然也无法存入数据。
退一步讲,如果x++=5能够运行的话,其实执行的结果就是temp=5,而temp在本语句结束之后立即释放,因此该语句是毫无意义的。
同时,从上还能看出,前缀没有中间变量,执行效率更高。

标签: 暂无
最后更新:2018年3月9日

木火唳唳

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

木火唳唳

这个人很懒,什么都没留下

分类
  • 程序员 / 10篇
  • 随笔 / 16篇
  • 大学 / 11篇
  • 高中语文 / 20篇
  • 未分类 / 3篇
最新 热点 随机
最新 热点 随机
如何修复 Windows10 右键菜单弹出延迟 如何恢复 Windows 10 的默认图片查看方式为 Windows 图片查看器 如何在 Chrome 中导入和导出密码 取消 IDEA 的双击 Shift 功能 闲暇随笔 一些注意
自题小象 现代汉语句式及成分 倾自去 取消 IDEA 的双击 Shift 功能 诗词鉴赏 Win7 下安装配置 Protel99SE

COPYRIGHT © 2021 yinrenjie.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备2022004353号-1

豫公网安备 41019702002534号