OGRE를 사용하고 있으며 ORIG에별로 관련이없는 문제를 겪었지만 지금 다루는 genreal C++ 문제입니다. ORGE는 질문의 맥락에 도움이됩니다.객체 유형 만 검색하기
내가 두 번째 매개 변수로 클래스의 형태로 전달해야 호출 할 삭제 위해서는
그러나OGRE_DELETE_T(obj, ExternalClass);
같은 뭔가,하는 매크로가있다. 그러나, 나는 그냥 A
포인터의 std::vector
를 저장한다면 나는 등 기본 class A
다음 class B
, class C
, class D
을 가지고 예를 들어 말하지만, 실제로 나는 B
, C
, 또는 A
의 일부 deriviative로 인스턴스화 수도 , 어떻게하면이 매크로에 구성된 실제 클래스의 유형을 전달할 수 있을까요? 파생 된 개체가 내가 그것을 삭제할 때 어떤 형식인지 알지 못한다. 내가 알고있는 것은 모두 class A
포인터이다.
나는 아마도 dynamic_cast
을 사용한다고 생각했지만 런타임 성능이 좋지 않았으며 검사 할 일종의 조회 테이블이 필요할 것입니다.
미안, 내가 좀 더 구체적인 있었어야 나는 가정하고있다. 파생 된 객체의 유형이 무엇인지 알지 못합니다. 내가 아는 것은 그것이'클래스 A '이고,'B','C'인지 모릅니다. – jack