2019/11/04

2

C++ 데이터형 변환 연산자(cast 연산자)

C에서는 데이터형 변환이 너무 느슨합니다. 이러한 느슨함을 해결하기 위해 Stroustrup(C++ 개발자)는 일반적인 데이터형 변환을 허용하는 것을 공고히 하고 데이터형 변환 과정을 더욱 엄격하게 규정하는 4개의 데이터형 변환 연산자를 추가하였습니다. dynamic_cast const_cast static_cast reinterpret_cast dynamic_cast dynamic_cast를 쓸려면 프로젝트에서 RTTI옵션을 활성화해야 합니다. #include class Animal { public: virtual void Move() { std::cout

프로그래밍/C++ 2019.11.04 Plorence

C++ RTTI(Runtime Type Infomation or Runtime Type Identification)

RTTI는 RunTime Type Identification 또는 RunTIme Type Information의 약자로 실행 시간 데이터형 정보라는 뜻입니다. 오래된 C++은 대다수가 지원 안 하며 어떤 C++은 켜거나 끌 수 있는 옵션이 있습니다. (visual studio는 옵션이 있지만, 디폴트로 체크되어 있습니다. 만약 해제하고 사용한다면 런타임 에러가 발생합니다.) (프로젝트 우클릭 -> 속성 -> C/C++ -> 언어 -> 런타임 형식 정보 사용) RTTI RTTI의 목적은 프로그램이 실행 도중에 객체의 데이터형을 결정하는 표준 방법을 제공하는 것입니다. 기초 클래스부터 상속된 클래스 계층이 있다고 하면 어떤 클래스의 객체인지에 따라 다른 처리를 해야 한다면 RTTI를 사용해야 합니다. RTT..

프로그래밍/C++ 2019.11.04 Plorence