C++

[C++]Rvalue/Lvalue

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

'C++' 카테고리의 다른 글

[C++]전위/후위연산자  (0) 2025.08.06
[C++] ObjectPooling(오브젝트 풀)  (0) 2025.08.04
[C++] 연산자 오버로딩  (0) 2025.07.17
[C++] 시프트 연산자  (0) 2025.07.15
[C++] is-a/has-a 관계  (0) 2025.07.14