C 표준에서는...
LValue : 대입 연산자를 기준으로 왼쪽과 오른쪽 모두에 사용될 수 있는 값
RValue : 오른쪽에만 사용될 수 있는 값
C++ 에서는...
LValue : 단일 표현식 이후에도 없어지지 않고 지속되는 객체
RValue : 표현식이 종료된 이후에는 더이상 존재하지 않는 임시적인 값, (... 상수 또는 임시객체)
LValue
++x : 증가된 x 자신을 리턴하기에 LValue
RValue
x++ : 증가된 복사본을 리턴하기에 RValue
구분 방법
& 를 붙여본다. &연산자는 LValue를 요구하여 RValue면 컴파일 오류 발생.
LValue 참조자는 LValue만 참조할 수 있고 RValue 참조자는 RValue만 참조할 수 있다.
References
https://effort4137.tistory.com/entry/Lvalue-Rvalue
https://effort4137.tistory.com/entry/C11-Rvalue-Reference-2-Move-Semantics
728x90
반응형
'공부 > 복기' 카테고리의 다른 글
Vector (0) | 2022.02.22 |
---|---|
평균값과 중앙값 (0) | 2022.02.22 |
Activation function 비교 (0) | 2022.02.22 |
map vs unordered_map (0) | 2022.02.22 |