레필리아
const_cast, static_cast, reinterpret_cast, dynamic_cast
레필리아
레필리아의 잡동사니
레필리아
전체
오늘
어제
  • 전체보기 (151)
    • 개발 공간 (1)
      • 매크로 (1)
    • 컴퓨터공학 리서치 (23)
      • 공개 (23)
      • 비공개 (0)
    • 컴퓨터공학 기초 (70)
      • Computer architectur.. (0)
      • Embedded system (6)
      • Operating system (0)
      • Database (2)
      • C.C++ (32)
      • Network (0)
      • Java (12)
      • 문제 풀이 (18)
    • 창고 (57)
      • 미분류 (57)
      • 유틸리티 (0)
      • 쓰레기통 (0)
      • ESLAB (0)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • MSP430F5437

최근 댓글

최근 글

hELLO · Designed By 정상우.
컴퓨터공학 기초/C.C++

const_cast, static_cast, reinterpret_cast, dynamic_cast

2013. 5. 6. 10:08

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
'컴퓨터공학 기초/C.C++' 카테고리의 다른 글
  • #define 매크로 예제
  • 코드 실행 시간 측정 방법 정리
  • 파일출력, 표준출력(cout) 동시에 하기
  • set_union 알고리즘 STL set에서 사용하기
레필리아
레필리아
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.