A* a = new A()    // 실제로는 템플릿화 되있음
이런 객체를
Vector<A> vctA; 여기다가
vctA.push_back(*a) 이게 아니라
vctA.push_back(a) 이렇게도 되더라.
똑같이 [] 연산자로 접근 가능해 A*가 아닌 A 객체로 저장된다..

이상해서 push_back 호출을 보니까
vctA.push_back(a) 인 경우에

push_back(타입 &&obj) 인 함수를 호출하더라구
Rvalue reference랑 관련잇는거 같은데
내가 아는 rvalue reference는 임시값을 lvalue처럼 사용하는거로 알고 있거든?

저 위의 경우가 가능한 이유가 뭘까?