C 左值,右值,左值引用,右值引用

2021-10-05 13:51:24 字數 488 閱讀 6087

一、概念

左值:有名字的變數(物件),可以被賦值,可以在多條語句中使用。

右值:臨時變數(物件),沒有名字,只能在一條語句**現,不能被賦值。

1.1 左值引用

左值引用的基本語法:type &引用名 = 左值表示式;

1.2 右值引用

右值引用的基本語法:type &&引用名 = 右值表示式;

二、**

qstring str1 =

"str1"

; qstring str2 =

"str2"

;const qstring& leftref = str1;

const qstring&& rightref = str1 + str2;

三、總結

直觀意義:為臨時變數續命,也就是為右值續命,因為右值在表示式結束後就消亡了,如果想繼續使用右值,那就會動用昂貴的拷貝建構函式

左值 右值 左值引用 右值引用

2015 06 01 15 07 404人閱讀收藏 舉報 c 11 5 一 c 中的左值和右值 誤區 左值位於等號左邊,右值位於等號右邊。c 11中的定義 左值表示式表示的是乙個物件的身份 在記憶體中的位置 而右值表示式表示的是物件的值 內容 左值和右值都是針對表示式而言的,左值是持久的,右值是短暫...

左值 左值引用 右值 右值引用

1 左值和右值的概念 左值是可以放在賦值號左邊可以被賦值的值 左值必須要在記憶體中有實體 右值當在賦值號右邊取出值賦給其他變數的值 右值可以在記憶體也可以在cpu暫存器。乙個物件被用作右值時,使用的是它的內容 值 被當作左值時,使用的是它的位址。2 引用 引用是c 語法做的優化,引用的本質還是靠指標...

左值 左值引用 右值 右值引用

1 左值和右值的概念 左值是可以放在賦值號左邊可以被賦值的值 左值必須要在記憶體中有實體 右值當在賦值號右邊取出值賦給其他變數的值 右值可以在記憶體也可以在cpu暫存器。乙個物件被用作右值時,使用的是它的內容 值 被當作左值時,使用的是它的位址。2 引用 引用是c 語法做的優化,引用的本質還是靠指標...