이것은 성능에 대해 너무 걱정하지 않는다는 점에서 약간의 가설입니다. 실제로 어떤 옵션이 실제로 가장 빠르고/가장 효율적인지 궁금하거나, 차이가 전혀 없는지 궁금합니다. 가정하자 나는 방문자 템플릿 다음 코드 오버로드를 지원 한 것을 : 방문자가 궁극적으로 dynamic_cast<> 's의 결과 사용 class CommonBase {
IMPLEME
dynamic_cast을 사용하여 클래스 계층 구조 전반에 걸쳐 "크로스 캐스트"를 수행하는 것이 합법적이라는 것을 알고 있습니다. 내가 수업을 예를 들어, 다음과 같이한다 : I 유형 C의 객체 가리키는 것 A* 포인터가있는 경우 A B
\/
C
, 그때 나는에 대한 포인터를 얻을 수 A* aPtr = /* ... something t