L-value와 R-value??

728x90

C언어에서 L-value는 왼쪽 값, R-value는 오른쪽 값을 의미하는데, 대표적으로 L-value는 변수, R-value는 상수

 

대입연산자 = 을 기준으로 왼쪽 항을 L-value, 오른쪽 항을 R-value

 

표준 C++에서는

 

L-value는 대입 연산자의 왼쪽에 나타나는 값으로, 메모리 위치를 가리키거나 수정할 수 있는 표현식

 

예: 변수 이름, 배열 요소, 클래스 멤버

 

이름이 있고, 사용되는 식 외에서도 유효함

 

R-value는 대입 연산자의 오른쪽에 나타나는 값으로, 임시 값이나 메모리상에 위치가 없는 값을 가리키는 표현식

 

예: 임시 객체, 리터럴

 

대체로 이름이 없고, 사용되는 식에서만 유효함

 

a = 1;

1 = a; // 오류, 1은 L-value가 될수 없음

a = b+1; 

b+1 = a; //오류, b+1은 L-value가 될수 없음

a = b;

 

 

728x90

'프로그래밍 > C++' 카테고리의 다른 글

키워드와 리터럴  (0) 2025.02.15
C++의 변수 형식 변환  (0) 2025.02.12
C++ 변수 유효 범위  (0) 2025.01.23
C++에서 사용하는 데이터 형식  (0) 2024.12.30
C++ iostream, 입출력 cin, cout, 네임스페이스  (0) 2024.12.05
TAGS.

Comments