항목 14: 자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자
·
STUDY/Effective C++
항목13에서 본 shared_ptr(auto_ptr은 이후에 삭제되었다고한다)은 힙이 아닌 다른 자원에는 맞지않다라는 견해가 일반적이다. 하지만 모든 자원이 힙에서 생기지는 않는다. 그래서 자원 관리 클래스를 우리가 스스로 만들어야할 필요성이 있다. class Lock{ public: explicit Lock(Mutex *pm) :mutexPtr(pm) { lock(mutexPtr);} ~Lock() {unlock(mutexPtr);} private: Mutex *mutexPtr; }; 잠금을 관리하는 클래스를 하나 만들고 , RAII법칙을 따라한다고하자. Lock m11(&m); Lock m12(m11); 하지만 여기서 복사를 하게 된다면 어떻게 될까? 복사할때 이루어지는 동작과 관련해서 선택지를 고를..