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)에 할당된다.