c++11) std::move (move semantics)
lvalue 는 left-value 로, rvalue 는 right-value로 대부분 풀어쓰고 있다. 그래서 = (대입 연산자) 에서 왼쪽에 올 수 있는 값은 lvalue , 오른쪽에 올 수 있는 값은 lvalue 또는 rvalue 라고 정의하고 있다. 하지만 C++11 에서 std::move 와 std::forward 의 도입으로 이제는 다른 식으로 표현해야 할 필요성이 있음. 간단하게 표현하기 위해서, lvalue는 주소값을 읽어올 수 있는 객체 또는 이름이 있는 객체로, rvalue는 이름이 없거나 주소값을 읽어올 수 없는 객체 라고 보면 된다. 1. int x = 3 에서 x 는 상수 3을 가지고 새로운 주소를 할당해 만들었으므로 (이름이 있으므로) lvalue 하지만 3은 주소가 있던놈이 아니..