39.左值、左值引用、右值、右值引用
1、左值和右值的概念
? ? ? ? ?左值是可以放在賦值號(hào)左邊可以被賦值的值;左值必須要在內(nèi)存中有實(shí)體;
? ? ? ? ?右值當(dāng)在賦值號(hào)右邊取出值賦給其他變量的值;右值可以在內(nèi)存也可以在CPU寄存器。
? ? ? ? ?一個(gè)對(duì)象被用作右值時(shí),使用的是它的內(nèi)容(值),被當(dāng)作左值時(shí),使用的是它的地址。
2、引用
? ? ? ? 引用是C++語(yǔ)法做的優(yōu)化,引用的本質(zhì)還是靠指針來(lái)實(shí)現(xiàn)的。引用相當(dāng)于變量的別名。
? ? ? ? 引用可以改變指針的指向,還可以改變指針?biāo)赶虻闹怠?/p>
? ? ? ? 引用的基本規(guī)則:
3、左值引用和右值引用
? ? 3.1 左值引用
? ? ? ? ?左值引用的基本語(yǔ)法:type &引用名 = 左值表達(dá)式;
? ? 3.2 右值引用
? ? ? ? 右值引用的基本語(yǔ)法type &&引用名 = 右值表達(dá)式;
? ? ? ? 右值引用在企業(yè)開(kāi)發(fā)人員在代碼優(yōu)化方面會(huì)經(jīng)常用到。
? ? ? ? 右值引用的“&&”中間不可以有空格。
總結(jié)
以上是生活随笔為你收集整理的39.左值、左值引用、右值、右值引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 38.C++修饰构造函数的explici
- 下一篇: 40.move()