const_cast
const로 선언된 상수를 일반변수로 변환하는데 사용된다. volatile를 변환시키는데도 쓰인다
-static_cast
c캐스팅과 비슷한 기본적인 캐스팅 연산자로 실수형, 정수형, 열거형등 기본적인 형변환을 할때 사용된다
const_cast와 달리 일반변수를 상수로 바꿀수있지만 상수를 일반변수로 바꾸진못한다
c캐스팅과의 차이점은 타입체크를 run-time으로 하지않고 compile-time에 정적으로 수행한다
-reinterpret_cast
어떠한 정수와 포인터 타입간에도 변환이 가능한 강력한 형변환이다
하지만 기본적인 캐스팅개념에서 벗어나 강제로 바꿔 매우 불안정하기 때문에 쓰려면 위험을 감수해야한다
-dynamic_cast
상속관계에있는 클래스간의 형변환을 할때 사용한다
형변환에 문제가없는지 안전검사도하는데 문제가 있을시에는 NULL값을 리턴하거나 예외를 띄운다
가상함수가 없는 클래스는 사용할 수 없다
'STUDY > C++' 카테고리의 다른 글
[ STL : User Define Allocator - Nicolai M. Josuttis ] (0) | 2014.08.07 |
---|---|
[C] Linked-List 링크리스트 구현 (연결리스트) 소스 (0) | 2013.08.20 |
C++ 상속 부모클래스 있을때 생성자 순서 (0) | 2013.08.20 |
const_cast static_cast reinterpret_cast dynamic_cast 형변환 (0) | 2013.08.19 |
[C++] Linked-List 링크리스트 구현 (연결리스트) 소스 (0) | 2013.04.18 |
[C++] Binary Search & Sequential Search 구현 (이원탐색 || 이진탐색 및 순차탐색) 소스 (0) | 2013.04.18 |