태그: 예외안전성
3편
-
C++ 소멸자와 RAII: 가상 소멸자, 규칙 0, 소멸자에서의 예외
소멸자 호출 순서, 가상 소멸자가 필요한 정확한 조건과 대안(protected 비가상), Rule of 0/3/5, 소멸자에서의 예외·this 사용 함정, 스마트 포인터와의 조합까지 실무 기준으로 정리합니다.
-
C++ 예외 안전성 Basic·Strong·Nothrow 보장: RAII와 copy-and-swap으로 구현하기
예외가 나면 락이 풀리지 않거나 컨테이너가 반쯤 수정된 상태로 남는 문제를 Basic, Strong, Nothrow 세 단계 보장으로 구분하고, RAII 래퍼, copy-and-swap, 트랜잭션 스타일 코드, noexcept 지정으로 원하는 보장 수준을 구현하는 방법을 설명합니다.
-
C++ RAII: 생성자에서 획득하고 소멸자에서 해제하는 자원 관리 클래스 만들기
early return 때문에 파일 핸들이 새는 코드에서 시작해, 생성자에서 획득하고 소멸자에서 해제하는 RAII로 파일, 뮤텍스, 소켓, DB 트랜잭션을 관리하는 클래스를 직접 만들고 복사와 이동 규칙을 정하는 방법을 보여줍니다.