이게 난이도 6 인가, : ) 한 8쯤 되는줄 알았는데, 더 정진해야겠다. 이번 항목을 클래스안에서 적용 될 것을 계산하여 스마트 포인터를 만들어 보는 항목이다. 알다 시피 클래스 안에서 스마트 포인터를 사용 할 때는 다음 4가지 경우를 반드시 생각해 봐야 한다.


첫째, 클래스의 생성자에서 어떻게 작동 하게 할 것인가?

둘째, 클래스의 소멸자에서 어떻게 작동 하게 할 것인가?

셋째, 클래스의 복사 생성자에서 어떻게 작동 하게 할 것인가?

넷째, 클래스의 복사 할당자에서 어떻게 작동 하게 할 것인가?


이번 항목은 이렇게 질문 4개에 대한 답변들로 이루어 졌다. 일전에 babo_ptr을 제작해보았던 터라 이 문제에 대해서 생각하여, 그 대처 방안으로 썼었는데, 다시 정리 하려 하니 귀찮다. 왜냐하면 결론을 보았기 때문이다.

바로 boost::smart_ptr을 사용 한다.

이것은 C++ 0x 표준안에 통과되었고, 완전한 표준으로 굳혀졌다.


총평

한번쯤 생각해 볼만한 주제이니, 한번 smart_ptr을 직접 만들어 보면서 하는게 좋을 듯 싶다.


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요