L value, R value
다음 코드에서 x는 L value, 123은 R value라고 한다.
- L value는 값이 저장되는 주소를 갖고 있다. 표현식 이후에도 값이 사라지지 않는다.
- R value는 표현 식 이후에 값이 사라진다. 임시 변수라고 할 수 있다. 메모리 위치와 식별자를 특정할 수 없다.
int main()
{
int x;
x = 123;
return 0;
}
MS 공식 문서에 따르면 메모리 위치를 참조하는 식을 "l-value"라고 하고 "r-value"는 식의 값을 설명한다고 되어있다.
또한 모든 l value는 r value이지만 모든 r value가 l value인 것은 아니라고 되어있다.
https://learn.microsoft.com/ko-kr/cpp/c-language/l-value-and-r-value-expressions?view=msvc-170
L-Value 및 R-Value 식
자세한 정보: L-Value 및 R-Value 식
learn.microsoft.com
initialization, assignment
아래 코드에서 123, 321은 initialization되는 값이고 5, 10은 assignment되는 값이다.
변수를 정의함과 동시에 초기값을 지정하면 initialization이다. initialization은 = 연산자를 사용하거나 ()에 값을 넣어주는 방식으로 할 수 있다.
변수 정의 이후에 대입 연산자(=)를 사용해서 값을 지정하면 assignment다.
int main()
{
int x = 123; // initialization
int y(321); // initialization
x = 5; // assignment
y = 10; // assignment
return 0;
}
'C++ 학습' 카테고리의 다른 글
| [C++] 캐스팅 (0) | 2023.09.28 |
|---|---|
| [C++] 네임스페이스 (0) | 2023.09.26 |
| [C++] 헤더 (0) | 2023.09.25 |
| [C++] 함수 (0) | 2023.09.25 |
| [C++] 기본 프로그램 구조 (0) | 2023.09.24 |