목록RTTI (3)
루토's sssssstory
출처 : http://keegan.tistory.com/trackback/2591. static_cast C++언어에서 캐스트(cast) 연산은 가장 보편적으로 사용되는 연산 입니다. 그러나 이것 만큼 정확한 의미를 모르고 사용되는 연산또한 없을 것입니다. Visual C++ 가 제공하는 캐스트는 크게 묵시적 캐스트(implicit cast)와 명시적캐스트(explicit cast) 두 가지로 나눌 수 있습니다. 묵시적 캐스트는 문법적인 키워드가 존재하지 않습니다. 이에 반해명시적 캐스트는 문법적인 키워드를 가지고 있는데, 여기에는 (), static_cast, const_cast,reinterpret_cast , dynamic_cast 다섯 가지가 있습니다. 이것에 대해 하나 하나 살펴 보겠습니다. s..
출처 : 검색 부분 발췌 헤더를 보면 다음과 같은 매크로가 있다. DECLARE_DYNCREATE(CMainFrame) 이것은 무엇인가?... 궁금하지 않은가?.. 바로 이것은.. RunTimeClass라는 구조체를 사용하겠다고 선언하는 것이다. 자세한 것은 솔직이 본인도 잘 모르지만.. 런타임 구조체라는게 어떤 것이라는 건 한번 되짚고 넘어가 볼 필요가 있다. 다음은 런타임 클래스의 정의를 설명해 놓은 원문이다. CRuntimeClass does not have a base class. Each class derived from CObject is associated with a CRuntimeClass structure that you can use to obtain information about ..
//RTTI(run time type information) example #include #include #define RUNTIME_CLASS(class_name) (&class_name::class##class_name) class CObject; //{{struct CRuntimeClass------------------------------------------------ struct CRuntimeClass { char m_lpszClassName[21]; int m_nObjectSize; CObject* (*pfnCreateObject)(); CObject* CreateObject(); };//struct CRunTimeClass CObject* CRuntimeClass::CreateObje..