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.