C++ 객체 수명과 암묵적 객체 생성

21
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 C++ 객체 수명과 암묵적 객체 생성, reinterpret_cast 사용 시 발생하는 UB와 표준의 진화에 대해 정리한 글입니다.

핵심 개념

  • 저장 기간(storage duration)과 객체 수명(object lifetime) 구분
  • reinterpret_cast는 객체를 생성하지 않음 — 해당 타입의 살아 있는 객체가 있어야 역참조 허용
  • 포인터의 파생(derived-from) 관계에 따라 동일 주소라도 유효성 달라짐, std::launder로 보정
  • 스토리지 재사용과 투명한 교체(transparent replacement) 조건 및 const 멤버 영향
  • C++20의 P0593로 암묵적 객체 생성(implicit-lifetime types) 도입 — malloc 직후의 reinterpret_cast 관행 합법화

연관 게시글