title: "**C++에서의 몇 가지 의문 사항에 대한 정리 (2) cast 연산자**"
description: "**C++에서의 몇 가지 의문 사항에 대한 정리 (2) cast 연산자**"
cleanUrl: /sw-engineer/cplusplus-cast-operator
ogImage: ""
floatFirstTOC: right

보기도 쉽지 않고, 한번도 사용 안해봤던 C++의 여러 캐스트 연산자들. 언제나 C 스타일의 캐스트 연산자만 써왔는데, 당장 알아야 하는 것은 아니지만, 내친김에 한번 훌터보고 가는 것이 좋을거 같다. 기왕 사용하는 거, 좀 제대로 알고 사용하는 것이 좋지 않겠나..으흐.. 그놈의 면접 질문 파장, 정말 오래도 간다..

**캐스트(cast)**란 명시적 변환(explicit conversion)을 의미한다. C++의 캐스트 연산자는 4가지인데, 이들은 C++의 타입 체킹 기능을 약화 혹은 마비시키기 때문에, 조심해서 사용해야 할 것이다.

캐스트를 이용하는 경우

C++의 캐스트 연산자

C++이 C 스타일의 캐스트 연산자를 지원함에도 불구하고, Stroustrup이 이처럼 4가지의 캐스트 연산자를 따로 구분해놓은 이유는, 캐스트 연산자는 위험스러운 연산자임에 반해, 그 위험성을 프로그래머가 제대로 파악하기 힘들겠다 싶어서, 이처럼 따로 나눈 것이라나… 이렇게 하면 적어도 캐스트가 적용될 범위를 프로그래머가 재대로 인식할 수 있지 않겠냐...하는 생각에서 나왔다고.

참고 자료