RAII Resource Acquisition is Initilaization
자원을 관리하는 디자인 패턴. 이는 “자원 관리는 스택에 할당한 객체가 수행한다.” 라는 개념으로 보면 된다.
스마트 포인터 와 밀접한 관계가 있는 C++ 설계 패턴인데, 간단하게 말하자면 ‘자원의 획득’을 ‘객체’로 관리하겠다는 것이다.
char* cPtr = new char[32]와 같은 자원의 획득을 ‘포인터 변수’가 관리하던 것에서
unique_pointer나 shared_pointer라는 객체가 관리하게 된다는 것이다.
그렇게 되면 이 객체들이 스택에서 사라질 때 자동으로 소멸자를 호출하면서 자신들이 관리하고 있는 자원들을 반환하게 된다는 뜻.