항목 40 : 개체 활동 주기 - 파트 1 (난이도 : 5)
이번 항목은 개체의 지금 존재 하는가? 존재 하지 않는가? 를 생각하게 한다. 개체가 존재하지 않은데 접근을 하면 에러가 날 수 있듯이, 어떨 때 달라지는지에 대해서 알아보자. template void f( void ) { T t( 1 ); T& rt = t; /* -- #1 : t 또는 rt에 관련된 어떤 것을 수행 -- */ t.~T(); new (&t) T(2); /* -- #2 : t 또는 rt에 관련된 어떤 것을 수행 -- */ } /* 여기서 t가 다시 소멸 된다. */ 이 코드의 #2 부분은 합법 적인가? 분석 이 코드는 합법적(문법이)이며, new (&t) T(2); 예외를 발생되지 않는 다면 매우 안전한 코드이다.^^ 여기서 짚고 넘겨야 하는 것은 t.~T(); 호출 후 ~ new (&t..
책 정리/Exceptional C++
2008. 10. 8. 12:36
최근댓글