C++
[C++]Rvalue/Lvalue
programmer-faust
2025. 7. 22. 21:08
- 순서
- Rvalue란?
- Lvalue란?
- Rvalue와 Lvalue의 차이
- Rvalue란?
- 기존 C에서 rvalue는 right value 즉 대입연산자를 기준으로 오른쪽 값
- 메모리 주소가 없는 일시적으로 계산된 결과 또는 임시 값임 => 지금만 잠깐 사용하는 값
- 예를 들어 int a = 5; 에서 rvalue는 5이다.
- Lvalue란?
- 기존 C에서 rvalue는 left value 즉 대입연산자를 기준으로 왼쪽 값
- 객체를 참조하는 표현식으로 특정 메모리의 위치를 가지고 있고 주소도 가질 수 있는 존재하는 값
- 예를 들어 int a = 5;에서 lvalue는 a이다.
- Rvalue와 Lvalue의 차이
- lvalue와 rvalue를 구분하는 이유
- 이동생성자 / 이동 대입 연산자
- 함수 오버로딩 시 구분 가능
- lvalue와 rvalue를 구분하는 이유