1. 개요자기대입은 어떤 객체가 자기 자신에게 대입 연산을 실행하는 것을 말합니다. 예를 들면 이런것이죠 Yeoul y; y=y; 문법상 아무 문제가 없는 코드입니다. a[i] = a[j]; i와j가 같아지면 자기대입이 됩니다. *pa = *pb; 둘이 가리키는 대상이 같으면 자기대입이 됩니다. 이러한 경우가 생기는 이유는 하나의 객체를 여러곳에서 참조하는 중복참조 상태 때문입니다. 이럴땐 같은 객체가 사용될 가능성을 고려하는것이 바람직한 자세입니다. void DoSomething(const Base& rb, Derived* pd);// 사실 rb와 *pb는 같은 객체였을지도 모릅니다. 결론은 자기 대입 연산은 생각보다 빈번하게 발생할 수 있다는 것이지요 2. 발생하는 문제들/해결법 2-1. 문제1자기대..