main_res = generateResource();여기서 main_res와 generateResource()가 서로 같은 타입의 객체니까 복사 생성자가 호출이 되는건 알겠는데 복사 생성자가 호출이 된 다음에 왜 대입연산자 오버로딩을 한게 호출이 되나요??그렇게 된다면여기서 해보니까 move constructor인 복사 생성자가 호출이 되고 거기서 a.m_ptr = nullptr을 해주어서 AutoPtr destructor가 호출이 됬는데 그 후에 오버로딩한 대입연산자가 실행되어지면 이미 m_ptr에 복사 생성자에서 복사를 했는데 왜 또 똑같이 복사를하고 a.m_ptr이 이미 삭제가 되어있는데도 제대로 동작을 하는건가요??