728x90
[C++] l-value, r-value : 네이버 블로그 (naver.com)
lvalue
표현식 이후에도 사라지지 않는 값. 이름을 지니는 변수.
rvalue
표현식 이후에는 사라지는 값. 임시 변수.
x+y 따위는 실제 변수가 아니라 임시 변수를 생성하여 (레지스터인지 메모리인지)에 저장, 사용한다. 이 값은 일반 변수와 마찬가지로 int 등의 타입을 가지고 있지만 계산이 끝나면 사라지는데 이것이 rvalue 이다.
그리고 명시적으로 선언하여 '이름'을 가지고, 계속 접근할 수 있는 변수가 바로 lvalue 이다.
lvalue에 약간의 연산을 가한 것, 포인터(주소값)등은 따로 저장되어 있는 변수가 아니라 '연산된 결과' 이기에 전부 rvalue 라고 볼 수 있겠다.
[출처] [C++] l-value, r-value|작성자 RedWings
728x90
'CS > C++' 카테고리의 다른 글
name mangling (0) | 2023.12.14 |
---|---|
이동 의미론 ( move semantics) (0) | 2023.12.14 |
얕은복사 / 깊은복사 (0) | 2023.12.14 |
c++ typedef vs using 키워드 차이점 (0) | 2023.12.14 |
C++ template 장단점 (0) | 2023.12.14 |