lvalue, rvalue

2025. 6. 2. 19:13·C++ Programming/C Basic

lvalue, rvalue

lvalue는 메모리 주소를 가지고 있는 값이며  예시로 변수나 배열 요소 등이 있습니다. 메모리 주소를 가지고 있기에 참조할 수 있고 어떤 객체나 변수에 대입의 왼쪽으로 올 수 있는 값을 의미합니다. 스택, 힙, 정적 메모리 등 객체가 존재하는 메모리 영역에 저장됩니다.

 

rvalue는 일시적인 값이나 메모리 주소를 가지고 있지 않은 값들을 의미하며 식이 끝나면 소멸되는 값들을 의미합니다. 메모리 주소가 없기에 대입문의 오른쪽에만 올 수 있는 값들을 의미합니다, 일반적으로 메모리 주소를 직접적으로 가질 수는 없습니다.

 

모든 lvalue는 rvalue가 될 수 있지만 모든 rvalue는 lvalue가 될 수 없다고 하며, 그 이유로는 당연히 rvalue는 메모리 주소를 가지지 않는 경우도 많기 때문입니다.

int x = 10; // x는 lvalue
int y = x+3; // x+3은 rvalue, 임시 객체를 생성하기에

 

 

'C++ Programming > C Basic' 카테고리의 다른 글

Smart Pointer(스마트 포인터)  (1) 2025.07.31
fmodf, remainderf  (0) 2025.07.20
RTTI (Run-Time Type Information)  (0) 2025.05.27
#pragma  (0) 2025.05.21
포인터  (0) 2025.02.13
'C++ Programming/C Basic' 카테고리의 다른 글
  • Smart Pointer(스마트 포인터)
  • fmodf, remainderf
  • RTTI (Run-Time Type Information)
  • #pragma
Mr.Vulpes
Mr.Vulpes
여우비가 내리는 시간입니다.
  • Mr.Vulpes
    여우비 개발실
    Mr.Vulpes
  • 전체
    오늘
    어제
    • Browse All Categories (82)
      • Project (5)
        • Unreal (5)
        • DirectX (0)
      • Unreal (17)
        • Core Concepts (12)
        • Unreal For C++ (5)
      • C++ Programming (8)
        • C Basic (8)
      • DirectX (15)
        • Basic (11)
        • DirectX - Class (4)
      • Math & Physics (9)
        • Vectors (3)
      • Software Engineering (27)
        • Software Development Princi.. (24)
        • Design Pattern (3)
  • hELLO· Designed By정상우.v4.10.3
Mr.Vulpes
lvalue, rvalue
상단으로

티스토리툴바