RTTI (Run Time Type Information – informacja o typie w trakcie wykonywania programu) jest techniką stosowaną w nowoczesnych obiektowych językach programowania. Technika ta polega na dołączeniu do kodu programu informacji o typach (klasach), czasami też ich własnościach i dostępnych metodach.

W C++ W standardowym C++ każdej klasie towarzyszy struktura przechowująca nazwę klasy. Dostęp do niej uzyskuje się poprzez typeid.

Wyrażenie typeid (e).name() zwraca nazwę klasy, do której należy obiekt e. Standard C++ nie określa co ma zawierać zwrócony napis.

Wyrażenie dynamic_cast<Samochod*>( x ) dla wskaźnika obiektu x zwraca jego wskaźnik jeśli typ ten należy do klasy Samochod lub jej potomka, przeciwnie zwraca wskaźnik pusty. Operator dynamic_cast jest użytecznym mechanizmem. Jeżeli przykładowo pojemnik obiektów (np. lista) zawiera obiekty typu Pojazd, a pewna operacja ma być wykonana tylko dla pojazdów będących samochodami, do wyselekcjonowania pojazdów będącymi samochodami (lub ich potomkami) można użyć wyżej opisanej konstrukcji.