카테고리 없음

[Effective C++] Item14_자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자

해달 2018. 1. 30. 20:30

Item14_자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자

챕터 핵심 내용

  • RAII 객체의 복사는 그 객체가 관리하는 자원의 복사 문제를 안고 가기 때문에, 그 자원을 어떻게 복사하느냐에 따라 RAII 객체의 복사 동작이 결정된다.
  • RAII 클래스에 구현하는 일반적인 복사 동작은 복사를 금지하거나 참조 카운팅을 해 주는 선으로 마무리하는 것이다. 하지만 이 외의 방법들도 가능하다.

- RAII 객체의 복사는 그 객체가 관리하는 자원의 복사 문제를 안고 가기 때문에, 그 자원을 어떻게 복사하느냐에 따라 RAII 객체의 복사 동작이 결정된다.

- RAII 클래스에 구현하는 일반적인 복사 동작은 복사를 금지하거나 참조 카운팅을 해 주는 선으로 마무리하는 것이다. 하지만 이 외의 방법들도 가능하다.

  • RAII 객체 복사 시 선택할 수 있는 사안들
  1. 복사 금지
  2. 관리하고 있는 자원에 대해 참조 카운팅 수행
  3. 관리하고 있는 자원을 진짜로 복사
  4. 관리하고 있는 자원의 소유권 이전