호빵의 IT 개발소

L-Value, R-Value란? 본문

CS(전공지식)/기술면접 준비

L-Value, R-Value란?

호빵Stack 2025. 4. 4. 00:45

L-Value vs R-Value

L-Value 메모리 주소를 갖고 있어 참조(Reference)가 가능한 값.변수처럼 수정 가능한 것.좌변(Left-value)으로 올 수 있음.
R-Value 임시 값(Temporary Object), 수명이 짧고 이름 없는 값.리터럴, 연산 결과 등.우변(Right-value)으로만 사용 가능.

 

 

면접 스타일 답변 예시:

L-Value는 메모리 주소를 가지며 참조 가능한 값을 의미합니다.
예를 들어 일반적인 변수나 배열 요소처럼 할당이나 참조가 가능한 것이 L-Value입니다.
반면 R-Value는 일시적인 값 즉 이름 없는 임시 객체를 의미합니다.
예를 들어 5 + 3, "hello" 같은 표현식 결과는 R-Value이며
이들은 메모리에 잠시 존재하고 사라지기 때문에 수정할 수 없고 참조하기도 어렵습니다.
C++11부터는 이 구분을 활용해 이동 시멘틱(move semantics)이 도입되었고
T&& 같은 R-Value 참조를 통해 불필요한 복사 없이 자원을 효율적으로 이동할 수 있게 되었습니다.

'CS(전공지식) > 기술면접 준비' 카테고리의 다른 글

죽음의 다이아몬드란?  (0) 2025.04.14
트랜잭션이란?  (0) 2025.04.14
static_cast와 dynamic_cast의 차이점은?  (1) 2025.04.03
dynamic_cast란?  (0) 2025.04.03
static_cast란?  (0) 2025.04.03
Comments