青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

程序讓生活更美好

半畝方塘 天光云影

  C++博客 ::  :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
  55 隨筆 :: 4 文章 :: 202 評(píng)論 :: 0 Trackbacks

左值和右值

我們?cè)诳磿臅r(shí)候,經(jīng)常可以看到關(guān)于 左值(L-value) 和 右值(R-value) 的概念,那么到底什么是左值,什么是右值,它們之間的區(qū)別又是在哪里呢?

    通俗的講,左值就是能夠出現(xiàn)在賦值符號(hào)左面的東西,而右值就是那些可以出現(xiàn)在賦值符號(hào)右面的東西了。

舉個(gè)很簡(jiǎn)單的例子:

a=b+100;

那么這里a就是左值,b+25就是一個(gè)右值。左值和右值之間是不一定都能互換的,上面的這個(gè)例子就是不能互換的,如果寫成

b+100=a;

大家都能看出來(lái)這樣寫會(huì)不編譯通過(guò)的,因?yàn)榫幾g器無(wú)法判斷b+100的內(nèi)存地址,所以不能操作。

看了這個(gè)例子,可以做一個(gè)總結(jié),左值必須應(yīng)該是一個(gè)變量或者是表達(dá)式等,但是它的物理位置是可以確定的,而右值不一定,這也是它們兩者之間的區(qū)別。

關(guān)于左值是表達(dá)式的例子有數(shù)組,還有指針這些都可以。

int array[10];

int a=5;

array[a+3]=10; //這里左值就是一個(gè)數(shù)組表達(dá)式了

 

此文完。

 

 另外:liotta朋友給了一些其他方面的提示 (左值右值翻譯可能有些問(wèn)題)

錯(cuò)了,沒(méi)有什么左值和右值!
翻譯害人不淺,
L-value中的L指的是Location,表示可尋址。The "l" in lvalue can be though of as location
R-value中的R指的是Read,表示可讀。The "r" in rvalue can be thought of as "read" value.   
posted on 2006-05-25 10:30 北風(fēng)之神007 閱讀(18235) 評(píng)論(24)  編輯 收藏 引用 所屬分類: c/c++

評(píng)論

# re: 左值和右值 2007-09-07 08:51 wu
那么對(duì)于(a=2)=66這樣的表達(dá)式怎么看?另外,為什么自增(減)運(yùn)算只能用于左值,不能用于右值,即表達(dá)式++(a++)為什么錯(cuò)誤呢?  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2007-09-07 17:27 JetSun
@wu
(a=2)=66 中就是按順序賦值就是了 所以a=66

++(a++)
至于右值為什么不能用,因?yàn)楹笤隽?后減量)返回的值是修改前的變量值,故不為左值,所以他就不能用了  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2008-06-07 19:28 Nash
++(a++)
a++相當(dāng)于
int a;
{
int temp=a;
a++;
teturn temp;
}
所以我們可以將++(a++)看成++temp;而temp
顯然是一個(gè)右值,所以不能用啊~~  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2008-09-01 18:29 liotta
錯(cuò)了,沒(méi)有什么左值和右值!
翻譯害人不淺,
L-value中的L指的是Location,表示可尋址。The "l" in lvalue can be though of as location
R-value中的R指的是Read,表示可讀。The "r" in rvalue can be thought of as "read" value.  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2008-09-23 15:59 xautfengzi
原創(chuàng)好文章,謝謝樓主。  回復(fù)  更多評(píng)論
  

# re: 左值和右值[未登錄](méi) 2009-02-14 07:25 Richard
From Wikipedia, the free encyclopedia
Jump to: navigation, search
L-value or L value may refer to:

A value (computer science) that has an address
The value assigned to an L-shell, a particular set of planetary magnetic field lines
A measure of brightness of a lunar eclipse on the Danjon scale

From Wikipedia, the free encyclopedia
Jump to: navigation, search
R-value can refer to:

Properties of materials:
R-value (insulation), the efficiency of insulation
R-value (soils), stability of soils and aggregates for pavement construction
r-value, in computer science, a value that does not have an address in a computer language
R-factor (crystallography), a measure of the agreement between the crystallographic model and the diffraction data
In statistics, r (or r value) refers to the Pearson product-moment correlation coefficient, often called simply correlation coefficient

翻譯不對(duì),謝謝  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2009-02-20 10:37 單曲旋律
這是<C++ primmer>中的一部分:

Lvalues and Rvalues
左值和右值
We'll have more to say about expressions in Chapter 5, but for now it is useful to know that there are two kinds of expressions in C++:

我們?cè)诘谖逭略僭敿?xì)探討表達(dá)式,現(xiàn)在先介紹 C++ 的兩種表達(dá)式:

lvalue (pronounced "ell-value"): An expression that is an lvalue may appear as either the left-hand or right-hand side of an assignment.

左值(發(fā)音為 ell-value):左值可以出現(xiàn)在賦值語(yǔ)句的左邊或右邊。

rvalue (pronounced "are-value"): An expression that is an rvalue may appear on the right- but not left-hand side of an assignment.

右值(發(fā)音為 are-value):右值只能出現(xiàn)在賦值的右邊,不能出現(xiàn)在賦值語(yǔ)句的左邊。

Variables are lvalues and so may appear on the left-hand side of an assignment. Numeric literals are rvalues and so may not be assigned. Given the variables:

變量是左值,因此可以出現(xiàn)在賦值語(yǔ)句的左邊。數(shù)字字面值是右值,因此不能被賦值。給定以下變量:

int units_sold = 0;
double sales_price = 0, total_revenue = 0;



it is a compile-time error to write either of the following:

下列兩條語(yǔ)句都會(huì)產(chǎn)生編譯錯(cuò)誤:

// error: arithmetic expression is not an lvalue
units_sold * sales_price = total_revenue;
// error: literal constant is not an lvalue
0 = 1;



Some operators, such as assignment, require that one of their operands be an lvalue. As a result, lvalues can be used in more contexts than can rvalues. The context in which an lvalue appears determines how it is used. For example, in the expression

有些操作符,比如賦值,要求其中的一個(gè)操作數(shù)必須是左值。結(jié)果,可以使用左值的上下文比右值更廣。左值出現(xiàn)的上下文決定了左值是如何使用的。例如,表達(dá)式

units_sold = units_sold + 1;

the variable units_sold is used as the operand to two different operators. The + operator cares only about the values of its operands. The value of a variable is the value currently stored in the memory associated with that variable. The effect of the addition is to fetch that value and add one to it.

中,units_sold 變量被用作兩種不同操作符的操作數(shù)。+ 操作符僅關(guān)心其操作數(shù)的值。變量的值是當(dāng)前存儲(chǔ)在和該變量相關(guān)聯(lián)的內(nèi)存中的值。加法操作符的作用是取得變量的值并加 1。

The variable units_sold is also used as the left-hand side of

可以看出,左值和右值是跟左和右掛鉤的。  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2009-09-16 21:12 whtank
++(a++)
a++ return a const object we can say it is b. so ++b is wrong  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-01-05 00:32 似的
@whtank
高度啊 頂  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-04-13 14:22 溪流
l, r 的原始含義真的這樣啊?剛才同事跟我說(shuō)我還不信呢。。。  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-05-27 16:19 wiskey
msdn上的,左值這種翻譯并無(wú)差錯(cuò)。

An l-value represents a storage region's "locator" value, or a "left" value, implying that it can appear on the left of the equal sign (=). L-values are often identifiers.  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-07-21 21:42 rslonghorn
我認(rèn)為左值右值才是正確的  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-07-22 17:52 nashtty
感謝樓主。。l-value r-value 真神秘  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-08-08 17:04 jackhao168
Expressions that refer to memory locations are called "l-value" expressions. An l-value represents a storage region's "locator" value, or a "left" value, implying that it can appear on the left of the equal sign (=). L-values are often identifiers.

The term "r-value" is sometimes used to describe the value of an expression and to distinguish it from an l-value. All l-values are r-values but not all r-values are l-values.

  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-08-08 17:08 jackhao168
應(yīng)該是先有了l-value這個(gè)概念,r-value只是起到與lvalue對(duì)比的作用。l-value含有左的意思,但不僅僅是左的意思,r-value只有右的意思  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2010-12-20 10:42 LuckyGeb
@wu
不對(duì)吧,我記得賦值作為副產(chǎn)品的返回是R值,不是地址,你的第一個(gè)表達(dá)式就不對(duì)啊  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2011-08-12 16:19 KevinKitty
感謝樓主的分享。

關(guān)于左值和右值,Dan Saks發(fā)表過(guò)一篇題為L(zhǎng)values and Rvalues的文章,閱讀之感覺(jué)寫的很好,概念一下清晰很多,順便翻譯了一下。有興趣的朋友可以交流學(xué)習(xí)一下。
譯文:http://filemarkets.com/file/kevinkitty/0575b639/
原文:http://www.eetimes.com/discussion/programming-pointers/4023341/Lvalues-and-Rvalues  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2011-08-16 12:07 KevinKitty
@KevinKitty

不好意思,譯文鏈接給錯(cuò)了,應(yīng)該是:http://filemarkets.com/file/kevinkitty/03c933d9/  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2012-03-07 20:52 jie
@Nash
a++相當(dāng)于
int a;
{
int temp=a;
a++;
teturn temp;
}

用a++,解釋a++.呵呵,太有才了
寫成a=a+1.更好理解吧  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2012-03-09 12:32 JetSun
謝謝討論 這樣百家爭(zhēng)鳴 挺好@jie
  回復(fù)  更多評(píng)論
  

# re: 左值和右值[未登錄](méi) 2012-03-22 11:20 LEO
看了樓上給的原文,感覺(jué)判斷l(xiāng)value和rvalue的方法就是看if it is refer to an object。因?yàn)樵闹杏羞@樣一句An object is a manipulatable region of storage; an lvalue is an expression referring to an object....  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2012-06-27 14:16 給力電
其實(shí)我感覺(jué)左值和右值的概念吧,可能跟匯編有關(guān)。

比如 MOV A, #300

其中A就必須是物理地址,或者累加器  回復(fù)  更多評(píng)論
  

# re: 左值和右值[未登錄](méi) 2013-03-14 14:09 1
locator  回復(fù)  更多評(píng)論
  

# re: 左值和右值 2016-05-09 16:10 hj
@wu
因?yàn)樽栽龊妥詼p運(yùn)算符是有副作用的  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人a视频| 亚洲久久一区| 久久精品国产96久久久香蕉| 亚洲精品少妇网址| 欧美黄在线观看| 欧美成人免费在线观看| 久久频这里精品99香蕉| 久久国产天堂福利天堂| 久久国产视频网站| 亚洲第一免费播放区| 欧美一区二区私人影院日本| 一本久久a久久免费精品不卡| 夜夜嗨av一区二区三区网站四季av| 亚洲精品久久| 亚洲深夜福利在线| 欧美亚洲色图校园春色| 性伦欧美刺激片在线观看| 久久9热精品视频| 麻豆成人精品| 亚洲精品女人| 99精品视频免费| 亚洲欧美在线看| 久久综合中文字幕| 国产精品久久久久久久app| 激情成人av| 最新中文字幕一区二区三区| 午夜一区二区三视频在线观看 | 99热在这里有精品免费| 欧美一区二区免费| 欧美激情视频一区二区三区在线播放| 亚洲黄色免费| 午夜一区不卡| 欧美日韩一区二区三| 国产真实精品久久二三区| 亚洲精品系列| 欧美jizzhd精品欧美巨大免费| 一区二区三区.www| 老司机免费视频一区二区| 国产伦精品一区二区三| 亚洲国产日韩欧美综合久久| 欧美77777| 国产精品专区h在线观看| 最近看过的日韩成人| 亚洲欧美一区二区三区久久| 亚洲国产精品999| 新狼窝色av性久久久久久| 欧美激情按摩| 国内精品福利| 欧美与欧洲交xxxx免费观看| 欧美成人黄色小视频| 亚洲欧美在线aaa| 国产精品亚洲一区| 一区二区三区精品视频在线观看| 欧美成年网站| 久久视频免费观看| 精品91在线| 久久久久国产精品麻豆ai换脸| 夜夜嗨av一区二区三区中文字幕 | 欧美国产日产韩国视频| 夜夜夜久久久| 亚洲精品国产精品国产自| 久久影院午夜片一区| 国产真实乱子伦精品视频| 久久久91精品国产一区二区精品| 亚洲欧美日韩精品久久奇米色影视| 国产精品女主播一区二区三区| 亚洲男女自偷自拍| 亚洲午夜在线| 国产精品美女久久久久aⅴ国产馆| 亚洲一区二区视频| 中文日韩在线视频| 国产精品久久久久一区二区| 亚洲欧美日韩在线一区| 亚洲淫性视频| 海角社区69精品视频| 葵司免费一区二区三区四区五区| 久久午夜视频| 99视频精品在线| 一区二区三区四区国产| 国产精一区二区三区| 久久精品免费看| 久久亚洲风情| 在线亚洲欧美视频| 欧美在线综合视频| 在线观看亚洲视频| 亚洲人成亚洲人成在线观看| 国产精品户外野外| 久久久精品国产99久久精品芒果| 久久精品国产一区二区三区| 亚洲人成网站777色婷婷| 一本色道久久88亚洲综合88| 韩国av一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 欧美日本精品| 久久av一区二区| 欧美fxxxxxx另类| 国产午夜精品麻豆| 免费人成精品欧美精品| 国产精品激情偷乱一区二区∴| 欧美一站二站| 嫩草影视亚洲| 欧美影院午夜播放| 欧美成人精品影院| 欧美一区二区三区免费观看视频 | 欧美激情精品久久久久久蜜臀| 欧美日韩免费观看一区| 久久久免费精品视频| 欧美日韩在线精品一区二区三区| 久久精品在线观看| 欧美午夜理伦三级在线观看| 蜜臀99久久精品久久久久久软件 | 欧美丰满少妇xxxbbb| 午夜精品国产精品大乳美女| 欧美大片免费| 久久夜色精品国产亚洲aⅴ| 欧美视频成人| 亚洲国产欧美一区二区三区同亚洲| 国产日韩欧美在线播放不卡| 亚洲精品国产精品国自产在线| 韩国自拍一区| 午夜久久福利| 午夜精品免费| 国产精品成人va在线观看| 亚洲免费电影在线观看| 亚洲国产成人久久综合| 欧美一级片一区| 久久国产精品免费一区| 国产精品夜夜夜一区二区三区尤| 亚洲人精品午夜| 亚洲毛片av| 欧美激情中文不卡| 亚洲国产天堂网精品网站| 亚洲二区视频在线| 久久久久久久网| 久久婷婷色综合| 红桃av永久久久| 久久精品国产99国产精品澳门| 久久精品人人做人人爽| 好吊妞这里只有精品| 午夜在线精品偷拍| 久久精品视频免费| 国产在线欧美| 久久免费一区| 另类国产ts人妖高潮视频| 国产一区在线视频| 久久久精品国产一区二区三区| 久久天天躁狠狠躁夜夜av| 黄色国产精品| 裸体歌舞表演一区二区| 欧美激情一区二区| 日韩网站免费观看| 欧美日韩午夜激情| 亚洲综合成人在线| 久久伊人精品天天| 亚洲肉体裸体xxxx137| 欧美激情亚洲另类| 亚洲午夜电影在线观看| 久久精品人人做人人爽| 永久555www成人免费| 久久一综合视频| 亚洲电影自拍| 国产精品视频yy9099| 久久狠狠一本精品综合网| 免费成人高清视频| 亚洲国产另类久久精品| 欧美激情在线狂野欧美精品| 亚洲伊人久久综合| 久久这里只有| 日韩亚洲国产精品| 国产精品女人网站| 久久国产精品免费一区| 亚洲国产精品t66y| 亚洲欧美日韩一区二区在线| 国模精品娜娜一二三区| 美女网站在线免费欧美精品| 日韩亚洲欧美成人| 亚洲欧美日韩在线观看a三区| 国产九色精品成人porny| 看片网站欧美日韩| 一本久久综合亚洲鲁鲁五月天| 欧美在线视屏| 91久久在线| 国产欧美综合在线| 欧美精品性视频| 亚洲一区亚洲| 亚洲国产精品va在看黑人| 久久久久国色av免费观看性色| 亚洲精品综合精品自拍| 国产自产女人91一区在线观看| 欧美精品一区二区在线播放| 久久国产一区二区三区| 亚洲天堂成人| 亚洲黄色一区二区三区| 久久九九国产| 亚洲欧美日韩精品综合在线观看| 亚洲国产综合视频在线观看| 国产色爱av资源综合区| 国产精品国产自产拍高清av| 欧美日韩国产在线| 亚洲国产精品久久精品怡红院|