L_value와 R_value
L-value & R-value L value는 왼쪽에 있는 거, R value는 오른쪽에 있는 거... 가 아니다. L-value는 나중에 다시 부를 수 있는 것. R-value는 그렇지 못한 것.으로 구분하면 쉽다. 예를 들어, int a=0; int b=a; 에서 a 는 L-value이다. 0은 다시 부를 수 없으므로 R-value이다. b 역시 L이겠지? R-value는 임시적으로 생성된 값이라고 볼 수 있다. 그러면 대체 왜 이런 걸 구분할까? R-value를 잘 이용하면 메모리를 효율적으로 사용할 수 있기 때문이다. 예를 들어, 어떤 값이 R-value이고 이 값을 전달하기 위해 몇 개의 변수를 거친다고 가정해보자. 이 값을 전달하기 위해 변수를 거칠 때마다 값을 복사할 필요가 있을까? 어차피..