Сведения о типах времени выполнения

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

Для ясности этот раздел о RTTI почти полностью посвящен указателям. Однако рассматриваемые понятия также применяются ко ссылкам.

Существует три основных элемента языка C++ для информации о типах времени выполнения.

  • Оператор dynamic_cast .

    Используется для преобразования полиморфных типов.

  • Оператор typeid .

    Используется для указания точного типа объекта.

  • Класс type_info .

    Используется для хранения сведений о типе, возвращаемых оператором typeid .

См. также

Приведение