const_cast
const로 선언된 상수를 일반변수로 변환하는데 사용된다. volatile를 변환시키는데도 쓰인다
static_cast
c캐스팅과 비슷한 기본적인 캐스팅 연산자로 실수형, 정수형, 열거형등 기본적인 형변환을 할때 사용된다
const_cast와 달리 일반변수를 상수로 바꿀수있지만 상수를 일반변수로 바꾸진못한다
c캐스팅과의 차이점은 타입체크를 run-time으로 하지않고 compile-time에 정적으로 수행한다
reinterpret_cast
어떠한 정수와 포인터 타입간에도 변환이 가능한 강력한 형변환이다
하지만 기본적인 캐스팅개념에서 벗어나 강제로 바꿔 매우 불안정하기 때문에 쓰려면 위험을 감수해야한다
dynamic_cast
상속관계에있는 클래스간의 형변환을 할때 사용한다
형변환에 문제가없는지 안전검사도하는데 문제가 있을시에는 NULL값을 리턴하거나 예외를 띄운다
가상함수가 없는 클래스는 사용할 수 없다
'컴퓨터공학 기초 > C.C++' 카테고리의 다른 글
#define 매크로 예제 (0) | 2013.07.19 |
---|---|
코드 실행 시간 측정 방법 정리 (0) | 2013.05.16 |
파일출력, 표준출력(cout) 동시에 하기 (0) | 2013.05.02 |
set_union 알고리즘 STL set에서 사용하기 (0) | 2013.05.02 |
STL의 string 클래스에 대한 토큰 처리 클래스 separtor (0) | 2013.04.30 |