상세 컨텐츠

본문 제목

const_cast<>, reinterpret_cast<>연산자

C++/형변환

by nowpassion 2008. 5. 11. 00:37

본문

1. const_cast<>
- 입력된 포인터나 참조의 const 혹은 volatile속성을 일시적으로 없애는 캐스트 연산자입니다.
- volatile는 휘발성이란 뜻을 가지고 있는데, volatile int a;라고 선언하면 다른 프로그램에서도
  접근할 수 있는 메모리 공간이 설정이 됩니다.
  실제 여러프로그램에서 함께 쓰이는 I/O등에 사용된다고 할 수  있습니다.

예제)
사용자 삽입 이미지



































- 실행결과
사용자 삽입 이미지

 






- const멤버 함수이므로 멤버를 변경할 수 없지만 const_cast를 이용해서 일시적으로 const를
  무력화시켜 멤버변수를 변경하는 작업을 할 수 있었습니다.(16번째 줄)

2, reinterpret_cast<>
- 비표준형 변환을 위해 제공하는 연산자 입니다.
- 표준형 변환(int에서 double로)에 대해서는 적용되지 않는 연산자입니다.

예제)
사용자 삽입 이미지














- 실행결과
사용자 삽입 이미지








'C++ > 형변환' 카테고리의 다른 글

static_cast<>  (0) 2008.05.11
RTTI(Run-Time Type Information)  (0) 2008.05.11
캐스팅 관련 연산자((), dynamic_cast<>)  (0) 2008.05.11

관련글 더보기