우선 기본적으로 쉽게 생각해서 lvalue란 메모리 위치이고 rvalue란 lvalue에 의해 식별된 메모리 위치에 저장된 값이라는 것은 알겠습니다.
오버라이딩 r-value와 l-value에서
&x always returns l-value of x
*p always return r-value of p
라는데 이게 이해가 안됩니다.
&x의 경우는 주소값을 반환한다는 점에서 l-value인것을 알겠으나
*p의 경우는 p의 r-value이라는데 이게 이해가 안되네요...
그리고
int *p=&x일때 rval(p)==lval(x)라는데 이것을 어떻게 해석해야 하나요?
마찬가지로
*p=2*x//rval(p)<-rval(2)*rval(x)
도 어떻게 해석하는 것이 좋을까요? 여기서 2는 리터럴 상수가 아닌가요?? 2라는 값을 불러와서 rval인가요??
조언 부탁드립니다.