C++ std::bit_cast와 reinterpret_cast — 언제 어떤 것을 써야 하는가
17
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 std::bit_cast와 reinterpret_cast의 의미와 사용 시기를 설명합니다.
요약
- std::bit_cast는 값 대 값(value-to-value) 타입 퍼닝 수단, 내부적으로 memcpy 의미론, constexpr 지원
- reinterpret_cast는 포인터·참조 변환 및 포인터↔정수 변환용, 포인터 값 보존하지만 역참조 시 엄격한 앨리어싱 규칙 적용
- 엄격한 앨리어싱 규칙 위반 시 역참조가 UB, char·unsigned char·std::byte는 바이트 단위 접근 예외
- 포인터에 std::bit_cast를 쓰면 const 우회 및 앨리어싱 위반 가능성, 타입 퍼닝에는 std::bit_cast 권장

