Сведения о типах времени выполнения
Информация о типах времени выполнения (RTTI) — это механизм, позволяющий определить тип объекта во время выполнения программы. Функция RTTI была добавлена в язык C++, поскольку многие поставщики библиотек классов реализовывали ее самостоятельно. Это приводило к проблемам совместимости между библиотеками. Таким образом, стало очевидно, что необходима поддержка информации о типах времени выполнения на уровне языка.
Для ясности этот раздел о RTTI почти полностью посвящен указателям. Однако рассматриваемые понятия также применяются ко ссылкам.
Существует три основных элемента языка C++ для информации о типах времени выполнения.
Оператор dynamic_cast.
Используется для преобразования полиморфных типов.
Оператор typeid.
Используется для указания точного типа объекта.
Класс type_info.
Используется для хранения информации о типе, возвращенной оператором typeid.