lvalue(left value)와 rvalue(right value)는 변수나 값이 어떤 역할을 하는지를 구분하기 위한 개념이다. int x = 10;x는 lvalue로 메모리에 이름과 주소가 있는 값이다.주소가 있기 때문에 참조가 가능하다.int* a = &x;//a에 x의 주소 값을 저장한다.lvalue는 식별자(변수명)가 있는 객체로, 좌변과 우변 위치 모두에 올 수 있는 피연산자이다.10은 rvalue로 임시로 만들어진 값이며 메모리에 저장은 되지만 식별자(변수명)으로 다룰 수 없다.int* y = &(10 + x); //오류 발생y에 (10 + x)의 주소를 저장하려 했으나 10 + x의 결과는 임시로 생성되는 임시 값이므로 식별자에 저장할 수 없다. rvalue는 식별자가 없고 ..