Modern C++ RAII 소유권 설계 결
Modern C++(C++11 이상)에서 가장 중요하게 생각하는 것은 소유권과 메모리 관리를 명시적으로 표현하는 것입니다. 예전에는 원시 포인터를 직접 관리하면서 해제를 빠뜨리거나 이중 해제 오류를 낸 경험이 있었는데, 스마트 포인터를 사용하면서 이런 실수가 줄었습니다.
unique_ptr과 shared_ptr의 소유권 모델을 이해하고 나면, 어떤 객체가 어느 스코프에서 살아있어야 하는지를 코드에서 바로 읽을 수 있었습니다. 람다와 범위 기반 for도 코드 가독성을 크게 높였는데, 반복 처리 로직이 한 줄로 표현되면서 의도가 명확해졌습니다. RAII 원칙을 지키면서 예외가 발생해도 자원이 제대로 해제되는 구조를 만드는 것이 C++ 코드 안전성의 핵심이라고 생각합니다. Modern C++는 언어가 제공하는 도구로 의도를 코드에 표현하는 것이 먼저라는 결을 배웠습니다.