자원 관리

[Effective C++] #15 자원 관리 객체, 자원에 대한 접근 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 3장 "자원 관리", 항목 15 "자원 관리 클래스에서 관리되는 자원은 외부에서 접근할 수 있도록 하자"에 해당하는 내용입니다. 자원 관리 객체, 그리고 자원에 대한 접근 자원 관리 객체는 외부(API)에서 해당 자원을 접근할 수 있도록 허용해야 합니다. 물론, 외부의 접근을 허용하는 행동은 캡슐화에 위배되는 행동입니다. 하지만, 자원 관리 객체의 목적은 자원을 외부로부터 숨기기 위함이 아니라, 성공적으로 자원 해제를 수행하기 위 위함입니다. 자원 관리 객체의 자원들에 접근하는 방법은 두 가지가 있..
[Effective C++] #14 자원 관리 객체 심화 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 3장 "자원 관리", 항목 14 "자원 관리 클래스의 복사 동작에 대해 진지하게 고찰하자"에 해당하는 내용입니다. 자원 관리 객체의 복사 class Lock { public: Lock (Mutex* pm) : mutexPtr(pm) {lock(mutexPtr);} ~Lock(){unlock(mutexPtr);} private: Mutex* mutexPtr; } #include using namespace std; int main() { Mutex m; Lock m1(&m); ...// m1 객체의 소멸자 호출 및..
[Effective C++] #13 자원 관리 객체, std::auto_ptr, std::shared_ptr Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 3장 "자원 관리", 항목 13 "자원 관리에는 객체가 그만"에 해당하는 내용입니다. std::auto_ptr A_클래스* createAClass(); // A클래스 객체를 가리키는 포인터를 반환, 팩토리 함수. void f() { A_클래스* pA = createAClass();// 팩토리 함수 호출 ... delete pA;// pA 객체의 자원을 해제합니다. } *******************std::auto_ptr을 적용*****************..
Hardii2
'자원 관리' 태그의 글 목록