2013. 5. 16. 21:01
Study/C++
참조 위치 : http://repilria.tistory.com/372
const_cast
const로 선언된 상수를 일반변수로 변환하는데 사용된다. volatile를 변환시키는데도 쓰인다
static_cast
c캐스팅과 비슷한 기본적인 캐스팅 연산자로 실수형, 정수형, 열거형등 기본적인 형변환을 할때 사용된다
const_cast와 달리 일반변수를 상수로 바꿀수있지만 상수를 일반변수로 바꾸진못한다
c캐스팅과의 차이점은 타입체크를 run-time으로 하지않고 compile-time에 정적으로 수행한다
reinterpret_cast
어떠한 정수와 포인터 타입간에도 변환이 가능한 강력한 형변환이다
하지만 기본적인 캐스팅개념에서 벗어나 강제로 바꿔 매우 불안정하기 때문에 쓰려면 위험을 감수해야한다
dynamic_cast
상속관계에있는 클래스간의 형변환을 할때 사용한다
형변환에 문제가없는지 안전검사도하는데 문제가 있을시에는 NULL값을 리턴하거나 예외를 띄운다
가상함수가 없는 클래스는 사용할 수 없다
'Study > C++' 카테고리의 다른 글
[OOP2] EF C++ 항목2 (0) | 2013.09.09 |
---|---|
[OOP2] 객체지향? UML? (0) | 2013.08.27 |
[OOP1] 클래스 템플릿 (0) | 2012.07.05 |
[OOP1] 상속 업 캐스팅, 다운 캐스팅, 다이나믹 캐스팅 (0) | 2012.06.04 |
[OOP1] 클래스 (0) | 2012.05.17 |