Item 22는 'Pimpl 관용구를 사용할 때, 특수 멤버 함수들을 구현 파일에 정의하라'는 내용이다. C++ 개발에서 흔하게 사용되는 Pimpl(Pointer to Implementation) 관용구와 스마트 포인터가 만났을 때 발생하는 컴파일 에러에 대한 내용을 다루는 장이다. 먼저 한 줄로 요약하면 다음과 같다.Pimpl을 쓸 때, std::unique_ptr 를 사용한다면, 소멸자와 이동 연산자들을 헤더가 아닌 구현파일(.cpp)에 명시적으로 정의하라 --- 과도한 빌드 시간과 싸워본 적이 있다면, Pimpl("pointer to implementation", 구현을 위한 포인터) 관용구에 익숙할 것이다. 이것은 클래스의 데이터 멤버들을 구현 클래스(또는 구조체)를 가리키는 포인터로 대체하고, ..