관리 메뉴

Kim's Programming

C++에서의 다양한 Casting 방법들 본문

Programming/Cplusplus

C++에서의 다양한 Casting 방법들

Programmer. 2018. 2. 1. 23:31

C에서는 일반적으로 사용하는 캐스팅 방법은 괄호를 이용하여 (int*) 와 같은 것을 활용하여 형변환을 실행합니다. 일반적으로 C에서 이용할때 강제로 형변환을 하도록 하였지만 C++에서는 다양한 변환을 이용하여 Casting을 합니다. 이렇게 Casting을 하는 방법은 dynamic_cast, static_cast, const_cast, reinterpret_cast 4가지가 있습니다.


  • dynamic_cast

    dynamic_cast는 상속관계에 있는 부모 자식의 클래스사이에서 다운케스팅을 할때 이용하게 됩니다. 반드시 소멸자를 virtual로 되어있어야 이용가능합니다.

  • const_cast

    const 형으로 보호되어있는 것에 접근 할 떄 이용합니다. const 형이 없는 것 처럼 이용하기 위하여 변환할 떄 이용합니다.

  • static_cast

    명시적으로 변환 가능한 관계에서 캐스팅을 할때 사용합니다.

  • reinterpret_cast

    bit by bit로 캐스팅할 때 사용합니다. C언어에서 괄호를 이용하여 변환한 것과 동일한 캐스티을 합니다. 


'Programming > Cplusplus' 카테고리의 다른 글

네임스페이스(namespace)의 이용  (0) 2016.03.07
C++ - 클래스 상속(2/3)  (0) 2015.10.12
C++ - 클래스 상속(1/3)  (0) 2015.09.22
C++ - 연산자 오버로딩(3/3)  (0) 2015.09.21
C++ - 연산자 오버로딩(2/3)  (0) 2015.09.20