항목 38 : 개체의 정체(Object Identity) (난이도 : 5)
두 개의 포인터가 같은 객체를 가리키고 있는지 그 판단을 하기 위한 알고리즘을 제시하는 항목이다. 다음의 코드 this != &others 검사는 자기 할당을 피하기 위한 기본 방법이다. 과연 이 조건절만으로 자기 할당을 피하는게 가능할까? 그렇지 않은 경우와 어떻게 고칠 수 있는지 알고리즘을 만들라. T& T::operator=( const T& other ) { if( this != &other ) { /* ... 처리 세부 사항 ....*/ } return this*; } 문제 : 정말로 이것으로 자기 참조를 피할수 있을까? 피할수 없다면 어떻게 고칠 수 있을까? 고칠 수 있다면 그 알고리즘은 어떻게 만들어 졌는가? 나는 이 항목을 시작하기 전에 한가지 생각에 빠지게 되었다. "자기 대입이 왜 나뻐..
책 정리/Exceptional C++
2008. 10. 8. 11:13
최근댓글