열정,기여,열린마음

고정 헤더 영역

글 제목

메뉴 레이어

열정,기여,열린마음

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • 전체 (128)
    • 낙서 (3)
    • 정리중.. (10)
    • Electronics Circuit (13)
      • Fundamentals of Electric Ci.. (10)
      • Resistive Network Analysis (3)
    • Embedded (5)
      • Article (2)
      • Processor (0)
      • IO Interface (0)
      • kernel porting (1)
      • Target Board (0)
      • Application porting (1)
    • C++ (68)
      • 기본 (13)
      • 클래스 (19)
      • 상속 (5)
      • 다형성 (4)
      • 파일처리 (4)
      • 형변환 (4)
      • 스트림 (3)
      • 예외 (4)
      • 템플릿 (8)
      • 기타 (4)
    • Codec (2)
      • 비디오기본 (0)
      • 오디오기본 (0)
      • H.264 (2)
    • Linux기본 (8)
      • Shell (2)
      • 명령어 (3)
    • Linux Kernel (2)
      • Memory (1)
      • Scheduling (0)
      • Thread (1)
    • Network (2)
      • Device (0)
      • Wireless (0)
      • Protocol (0)
      • TCP (2)
    • Programming (0)
    • Streaming Protocol (0)
      • RTSP - RTP (0)
    • Software Engineering (0)
      • UML (0)
      • Source Code Management (0)
    • English (16)
      • Grammar in Use(Advanced) (16)
홈태그미디어로그위치로그방명록
  • 낙서 3
  • 정리중.. 10
  • Electronics Circuit 13
    • Fundamentals of Electric Ci.. 10
    • Resistive Network Analysis 3
  • Embedded 5
    • Article 2
    • Processor 0
    • IO Interface 0
    • kernel porting 1
    • Target Board 0
    • Application porting 1
  • C++ 68
    • 기본 13
    • 클래스 19
    • 상속 5
    • 다형성 4
    • 파일처리 4
    • 형변환 4
    • 스트림 3
    • 예외 4
    • 템플릿 8
    • 기타 4
  • Codec 2
    • 비디오기본 0
    • 오디오기본 0
    • H.264 2
  • Linux기본 8
    • Shell 2
    • 명령어 3
  • Linux Kernel 2
    • Memory 1
    • Scheduling 0
    • Thread 1
  • Network 2
    • Device 0
    • Wireless 0
    • Protocol 0
    • TCP 2
  • Programming 0
  • Streaming Protocol 0
    • RTSP - RTP 0
  • Software Engineering 0
    • UML 0
    • Source Code Management 0
  • English 16
    • Grammar in Use(Advanced) 16

검색 레이어

열정,기여,열린마음

검색 영역

컨텐츠 검색

C++/형변환

  • static_cast<>

    2008.05.11 by nowpassion

  • const_cast<>, reinterpret_cast<>연산자

    2008.05.11 by nowpassion

  • RTTI(Run-Time Type Information)

    2008.05.11 by nowpassion

  • 캐스팅 관련 연산자((), dynamic_cast<>)

    2008.05.11 by nowpassion

static_cast<>

- 표준데이터 타입 변환만 지원(int에서 double로) - 클래스 계층간 변환(부모(기본)클래스의 주소를 자식(파생)클래스로의 다운캐스팅)을 허용한다. 그러나 부모클래스의 멤버와 자식클래스의 멤버가 같을수가 없으므로 위험한 캐스팅이라고 할 수 있다. 실제로 객체타입에 관한 검사를 하지 않기때문에 허용하는 것 뿐이다. - void *에서 다른 형태의 포인터 변환만 허용합니다.

C++/형변환 2008. 5. 11. 00:41

const_cast<>, reinterpret_cast<>연산자

1. const_cast - 입력된 포인터나 참조의 const 혹은 volatile속성을 일시적으로 없애는 캐스트 연산자입니다. - volatile는 휘발성이란 뜻을 가지고 있는데, volatile int a;라고 선언하면 다른 프로그램에서도 접근할 수 있는 메모리 공간이 설정이 됩니다. 실제 여러프로그램에서 함께 쓰이는 I/O등에 사용된다고 할 수 있습니다. 예제) - 실행결과 - const멤버 함수이므로 멤버를 변경할 수 없지만 const_cast를 이용해서 일시적으로 const를 무력화시켜 멤버변수를 변경하는 작업을 할 수 있었습니다.(16번째 줄) 2, reinterpret_cast - 비표준형 변환을 위해 제공하는 연산자 입니다. - 표준형 변환(int에서 double로)에 대해서는 적용되지 않..

C++/형변환 2008. 5. 11. 00:37

RTTI(Run-Time Type Information)

1. RTTI(Run-Time Type Information) - 객체의 유형을 실행시에 결정할 수 있도록 하는 기능입니다. - 객체의 다형성을 기반으로 하는 기능입니다. 예제) http://www.winapi.co.kr/clec/cpp3/33-1-1.htm의 소스를 가지고 왔습니다. - 실행결과 - 실행결과에도 나오듯이 강제로 캐스팅을 한 결과 엉뚱한 값이 나와버렸습니다. 실제 포인터형만 가지고는 실제 포인팅되어 있는 객체가 무엇인지를 알 수 없기 때문에 이를 보완하기 위해 최근 표준으로 정의된 기능이 RTTI라고 할 수 있습니다.(Child형 포인터지만 포인팅되어 있는 주소에 있는 객체가 Parent객체 인지 Child객체인지는 포인터만 가지고는 알 수 없지요.) - RTTI를 구현하는 대표적인 예가..

C++/형변환 2008. 5. 11. 00:30

캐스팅 관련 연산자((), dynamic_cast<>)

1. C언어에서의 형변환 - 기본적으로 ()를 사용하여 형변환을 합니다. - 대부분의 형변환을 할 수 있습니다. ex1) 50-1.c - 실행결과 2. dynamic_cast - 상속관계 안에서 포인터나 참조의 타입을 기본클래스에서 파생클래스로 다운캐스팅을 할 수 있습니다. - 다중상속에서 기본클래스간의 캐스팅을 지원합니다. - 다형성과 관계있기 때문에 virtual함수가 하나 이상 있어야 됩니다. 예제) 50-3.cpp - 컴파일 결과 - 컴파일 결과에서도 나오듯이 다형성이 아니다해서 에러를 발생 시키는 것을 볼 수 있습니다. - 그럼 virtual 선언을 하고 컴파일을 다시 해보겠습니다. 예제)50-5.cpp - 실행 결과 - 위의 결과를 보면 실제 기본클래스(Shape)를 파생클래스(Point)로 ..

C++/형변환 2008. 5. 11. 00:16

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
열정,기여,열린마음 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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