1. 복사를 금지합니다.
자세한 방법은 Compiler가 만든 함수가 필요없다면, 확실히 금지시키자. 를 참조.
2. 관리하고 있는 자원에 대해 참조 카운팅을 수행합니다.
shared_ptr을 사용.
3. 관리하고 있는 자원을 진짜로 복사합니다.
Pointer만의 복사가 아니라 heap 상에 새로운 영역에 내용을 복사해서 그 자원까지 모두 복사하라.
4. 관리하고 있는 자원의 소유권을 옮깁니다.
auto_ptr을 사용.
* RAII 객체의 복사는 그 객체가 관리하는 자원의 복사 문제를 안고 가기 때문에, 그 자원을 어떻게 복사하느냐에 따라 RAII 객체의 복사 동작이 결정됩니다.
* RAII 클레스에 구현하는 일반적인 복사 동작은 복사를 금지하거나 참조 카운팅을 해 주는 선으로 마무리하는 것입니다. 하지만 이 외의 방법들도 가능하니 참고해 둡시다.
댓글 없음:
댓글 쓰기