История изменений
Исправление xaizek, (текущая версия) :
dynamic_cast есть только, если пользователь его сам написал. Компилятор его не вставляет. Так что для абсолютного числа операций его цена роли не играет.
И я не вижу принципиальной разницы между dynamic_cast при одиночном и множественном наследовании. В обоих случаях используется rtti, по которому вычисляется (может быть во время компиляции, если это возможно) смещение к указателю. Я структуру rtti не знаю, но то ли это дерево, то ли цепочка, разница не такая уж существенная (в дереве только один путь используется).
Исходная версия xaizek, :
dynamic_cast есть только, если пользователь его сам написал. Компилятор его не вставляет. Так что для абсолютного числа операций его цена роли не играет.
И я не вижу принципиальной разницы между dynamic_cast при одиночном и множественном наследовании. В обоих случаях используется rtti, по которому вычисляется (может быть во время компиляции, если это возможно) смещение к указателю. Я структуру rtti не знаю, но то ли это дерево, то ли цепочка, разница не такая уж существенная.