Операция typeid
Для получения информации о типе во время выполнения программы применяется операция typeid:
typeid(имя_ типа) typeid(выражение)
Ее операндом является либо имя типа, либо выражение, оцениваемое как некоторый тип. Операция возвращает константную ссылку на объект класса type_info, объявленный в заголовке typeinfo.h.
Если операция не может определить тип своего операнда, она выбрасывает исключение типа bad_typeid.
Следует помнить, что RTTI в собственном смысле, как динамическое распознавание типа, работает только с полиморфными типами, т. е. классами, имеющими хотя бы одну виртуальную функцию. Если применить операцию typeid к обычному типу, идентификация типа будет произведена статически, т. е. при компиляции.