TECH 으로 돌아가기
TECH HACKER NEWS 오늘 2분 읽기 45 READS

C++26 std::indirect가 PImpl 보일러플레이트를 없앤다

PImpl(Pointer to Implementation) 관용구는 구현 세부사항을 별도 클래스에 숨겨 헤더 의존성과 컴파일 시간을 줄이고 ABI 안정성을 확보하는 오래된 C++ 기법입니다. 하지만 std::unique_ptr로 직접 구현하면 복사가 막히고, 복사 생성자·대입 연산자·소멸자를 일일이 손으로 작성해야 하는 번거로움이 있습니다. 특히 소멸자를 cpp 파일에 정의해야 불완전 타입 문제를 피할 수 있죠. C++26에 새로 들어오는 std::indirect는 바로 이 고통을 덜어줍니다. 값처럼 동작하는(value semantics) 간접 소유 래퍼로, 복사하면 대상 객체도 깊은 복사가 되고 const 전파도 자연스럽게 처리됩니다. 덕분에 특수 멤버 함수를 직접 구현할 필요 없이 컴파일러 기본 생성만으로 올바른 PImpl을 만들 수 있어 코드가 훨씬 간결해집니다. 오래된 관용구가 표준 타입으로 우아하게 정리되는 좋은 사례이니, 모던 C++을 쓰는 개발자라면 눈여겨볼 만합니다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://mariusbancila.ro/blog/2026/07/23/the-pimpl-idiom-and...
SHARE
처리 중...