Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- map
- 운영체제
- stl
- 통계학
- html
- c++
- list
- directx
- 시스템프로그래밍
- 수광 소자
- Visual Micro
- Deque
- 아두이노 소스
- Algorithm
- arduino compiler
- vector
- WinAPI
- C언어
- LineTracer
- Stack
- 아두이노 컴파일러
- 자료구조
- Arduino
- 라인트레이서
- priority_queue
- Array
- set
- 컴퓨터 그래픽스
- queue
- 아두이노
Archives
- Today
- Total
Kim's Programming
C++에서의 다양한 Casting 방법들 본문
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 |