码迷,mamicode.com
首页 > 其他好文 > 详细

左值(Lvalue)和右值(Rvalue)

时间:2015-09-12 10:50:54      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

  左值和右值得问题,初步理解就是:  int i = 5;

                    左值是一个变量(内存区域)的引用,是可变的,i是左值;右值是不变的,5是右值;

  注意:

    ++i是左值,i++是右值。

    因为++i 返回 i 本身,而 i++ 返回 i 的值。

a++ 即是返回 a的值,然后变量 a 加 1,返回需要产生一个临时变量类似于

{ int temp = a;

   a=a+1;

   return temp; //返回右值 }

++a 则为:

{ a=a+1;

   return &a; //返回左值 }

显然,前增量不需要中间变量,效率更高

左值(Lvalue)和右值(Rvalue)

标签:

原文地址:http://www.cnblogs.com/goodearth/p/4802569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!