비타Cpp

R-value와 L-value 본문

C,C++

R-value와 L-value

멍C 2020. 5. 17. 14:25

대입연산자(=)의 피연산자중에 오른쪽에있는 피연산자를 r-value, 왼쪽에 있는 피연산자를  l-value라고 하는데,  이러한 의미도 틀리지는 않다.

 

하지만 이렇게 알고있기보다는

l-value를 변수 (메모리상에 지속적으로 남아있는 값),

r-value를 임시값(메모리상에 남지않고 표현식 종료후에는 사라지는 값)

이라고 알아두는 편이 더 좋다.

 

int a; //a는 int형 정수로 정의한다.
a = 10; //10(r-value)은 정수 10으로 평가되고, a(l-value)에 할당된다.
a = 5 + 10; //5(r-value) + 10(r-value)는 15(r-value)로 평가되고, a(l-value)에 할당된다.

 

 

Comments