일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 김성엽
- 연산자
- c#
- 문법
- c++
- 백준
- tipssoft
- Kotlin
- 포인터
- Tips강좌
- 지식나눔강좌
- 프로그래밍
- 티스토리
- Desktop
- Tips프로그래밍강좌
- Direct2D
- VS ERROR
- c
- Visual Studio
- Windows
- 알고리즘
- Javascript
- 배열
- 리뷰
- 이지스퍼블리싱
- CS
- Win32
- 함수
- Programming
- doit코틀린프로그래밍
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
Cpp 캐스팅 본문
반응형
C++에서는 기존 C에서 지원하는 (data type)var 형식의 형변환 이외에 추가로 형변환을 지원한다.
그런데 그 형변환이 뭐가 어떻게 다른건지 굉징하 난해해서 이해하기 어려웠는데 굉장히 도움이 되었다.
1. static_cast
C언어에서 지원하는 (data type)var 의 cpp형 문법이다.
static_cast<data_type>(var) 가 cpp의 형식이다.
2. const_cast
const int a = 3;
이런 상황에서 a의 const를 특성을 지우고 싶을 때 사용한다.
혹은
int a = 3;
이라는 변수에 a의 변수값이 변하지 않는 const 특성을 넣고싶을 때 사용한다.
단, const_cast를 사용한다고 해서 const int 값을 변화시킬 수 있다던가 int 값을 const로 변경시킬수는 없다.
3. dynamic_cast
정상적으로 캐스팅이 가능한지 판단할 수 있다고 보면 된다.
만일 int *을 int로 수정한다던지 하면 정상적인 캐스팅이 안되는데 dynamic_cast는 비정상 캐스팅이 나오면 NULL을 반환하고 정상값은 캐스팅값을 리턴한다.
4. reinterpret_cast
강제 형변환이다. 어떠한 것이든 정상적으로 캐스팅이 되던 말던 상관없이 일단 형변환을 시킨다. 특수한 경우가 아니면 사용하지 않는것이 좋다고 한다.
728x90
반응형
'DEV > C C++' 카테고리의 다른 글
삼항 연산자 ? : (0) | 2018.09.25 |
---|---|
WINAPI - 2018 PU PROJECT (0) | 2018.09.19 |
Q 폴리곤 그리기 (0) | 2018.06.02 |
게임 - 네모로직 (0) | 2018.06.01 |
네모로직 (0) | 2018.05.30 |
Comments