C++の表達式(2)
- 2019 年 12 月 27 日
- 筆記
題圖:NoCopy
字數:361 | 50秒讀完我半小時的思考
C++の表達式
左值與右值
今天,我們繼續接著昨天的說,昨天說到了C++中表達式的左值與右值,由於時間關係就沒有詳細說完整。今天我們繼續補充一下。
C++中所謂左值:其實就是可以被引用的對象,或者簡單理解就是可以被改變的對象。比如我們常見的變數,數組,引用類型數據,以及我們之前提到的迭代器的解引用,還有指針等等都是左值。說到這裡可能就有朋友要問了,既然能被修改的量是左值,那麼被我們之前說到的const修飾,還是不是左值呢?
是的,這個就比較特殊了,這個叫不能被修改的左值,其實說到根本上,左值是能夠用通過指針訪問的,即使不能改變它的值,這個本質也是變不了的。
那麼,右值呢,我們可以把它理解為廣義上的常量,比如常見的常量,帶有返回值的函數並且這個返回值不是指針,或者引用,還有多項式等等都是右值。