728x90
반응형
이번 포스팅에서는 C++의 캐스팅 중에서 reinterpret_cast에 대해 알아보도록 하겠습니다.
구성은 다음과 같습니다.
- static_cast
- dynamic_cast
- reinterpret_cast
- const_cast
1) reinterpret_cast란?
https://learn.microsoft.com/ko-kr/cpp/cpp/reinterpret-cast-operator?view=msvc-170
위의 공식문서의 설명과 같이, retinterpret_cast는 포인터가 다른 포인터 형식으로 변환될 수 있게 합니다.
또한 포인터를 전혀 관련없는 타입으로 변환할 수 있게 해줍니다.
2) reinterpret_cast
사용법을 한번 보겠습니다.
위와 같이 캐스팅이 잘 이루어 지는 것을 확인할 수 있습니다.
그러나 무분별하게 reinterpret_cast를 사용해서는 안됩니다.
위의 windwos 공식문서에서 언급되어 있듯이,
원래 형식으로 다시 캐스팅되는 것 이외의 다른 용도로는 결과를 안전하게 사용할 수 없습니다.
실제 실행 결과가 보여주듯이, 용도에 맞지 않는 reinterpret_cast는 메모리 오염을 초래할 수 있습니다.
캐스팅을 사용할 때는 반드시 목적에 맞게 올바르게 사용하는 것이 중요하다고 생각합니다.
다음 포스팅에서는 const_cast로 C++ 캐스팅 4부작의 끝을 내도록 하겠습니다.
728x90
반응형
'C++' 카테고리의 다른 글
얕은 복사 VS 깊은 복사 (0) | 2024.04.21 |
---|---|
C++의 캐스팅 - const_cast (0) | 2024.04.15 |
C++의 캐스팅 - dynamic_cast (0) | 2024.04.14 |
C++의 캐스팅 - static_cast (0) | 2024.04.08 |
캐스팅 - C언어의 캐스팅 (0) | 2024.04.07 |