int x;
: int형 메모리의 이름을 x라고 붙이겠다(선언)x = 1;
:이름 붙인 x에 1을 assign한다int x = 1;
선언과 할당을 동시에 한 것을 변수의 초기화(initialize to a variable)라 한다.초기화를 하지 않으면 메모리 공간에 쓰레기 값이 들어가서 런타임 에러를 일으킨다.
int x = 1; x = x+2;
에서 x는 여전히 l-value이지만, x+2는 임시값을 저장하는 r-value이다.int x = 1;
x = x + 2;
cout << x << endl; // 3
int y = x;
cout << y << endl; // 3
cout << x + y << endl;
return 0;
&(x+y)
를 찍어보면 좌값을 참조하라고 에러메시지가 나온다.