항목 41 : 개체 활동 주기 - 파트 2 (난이도 : 6)
이 문제는 C++ 이디엄(idiom)으로 자주 추천 받고 있지만, 잘못 사용되면 심각한 문제가 발생할 수 있다는 것을 고려해야 한다. 이디엄을 보도록 하자. T& T::operator=( const T& other ) { if( this != &other ) { this->~T(); new (this) T( other ); } return *this; } 문제 이 코드는 어떤 일을 하기 위해서 작성 되었을까? 이 코드의 잘못된 점을 찾아 고쳐라 잘못된 점을 고치더라도, 이 이디엄이 안전한가? 안전하지 않다면 어떻게 해야만 프로그래머의 의도되로 될 수 있을까? 부연 설명 이 예제는 개체의 생성 법칙에 대하여 증명하기 위한 용도로 사용 될 뿐, 좋은 연습에 관련된 예제라고 추천하지 않습니다. 분석 (1). ..
책 정리/Exceptional C++
2008. 10. 8. 15:53
최근댓글