요즘 C++의 virtual 메카니즘에 빠져서 산다. virtual.. 그리 오랜시간 보아왔는데도, 여전히 어렵다.. 다음은 오늘 알아낸 것들.
1. RTTI(Run-Time Type Identification), 실행 중에 기반(base) 클래스 타입 포인터의 실체를 밝혀내는데 쓰이는 typeid 연산자. 그 기반 타입의 포인터가 다형성을 지닌 클래스(polymophic class), 즉 "virtual 함수가 있는 클래스"가 아니면 아무짝에도 쓸모가 없다. "typeid(기반 타입의 포인터)" 해보았자, 보이는 그대로 그 기반 타입임만을 알려줄 뿐, 실제 담겨있는 타입, 즉 그 기반 타입의 포인터로부터 파생된 타입(derived type)에 대해서는 알려주는 바가 없다.
1. RTTI(Run-Time Type Identification), 실행 중에 기반(base) 클래스 타입 포인터의 실체를 밝혀내는데 쓰이는 typeid 연산자. 그 기반 타입의 포인터가 다형성을 지닌 클래스(polymophic class), 즉 "virtual 함수가 있는 클래스"가 아니면 아무짝에도 쓸모가 없다. "typeid(기반 타입의 포인터)" 해보았자, 보이는 그대로 그 기반 타입임만을 알려줄 뿐, 실제 담겨있는 타입, 즉 그 기반 타입의 포인터로부터 파생된 타입(derived type)에 대해서는 알려주는 바가 없다.
more..
'of 프로그래머 > plfm.neutral' 카테고리의 다른 글
| Object Oriented software design principle? (0) | 2005/07/09 |
|---|---|
| offsetof() : 중첩된 클래스에서 중첩한 클래스의 포인터 얻기. (0) | 2005/04/07 |
| RTTI - C++의 typeid 연산자와 virtual 메카니즘. (0) | 2005/01/25 |
| C++에서의 몇 가지 의문 사항에 대한 정리 (3) RTTI (0) | 2004/11/02 |
| C++에서의 몇 가지 의문 사항에 대한 정리 (2) cast 연산자 (0) | 2004/11/01 |
| C++에서의 몇 가지 의문 사항에 대한 정리 (1) virtual 키워드 (0) | 2004/10/31 |
트랙백 주소 :: http://anyflow.net/trackback/30
-
Subject: [부록] 잉여들을 위한 클래스설계 이야기를 위한 RTTI
Tracked from Rhea's Package 2009/06/08 23:37 삭제폴리모피즘을 적으며 RTTI(Run-Time Type Identification)를 함께 적었어야 했지만 포스팅 길이로 인해 부록으로 적어둔다. 상속과 객체들의 참조들이 많아지면 객체들은 "난 누군가 또 여긴 어딘가"와



