In computer programming, run-time type information or run-time type identification (RTTI)[1] is a feature of some programming languages (such as C++,[2] Object Pascal, and Ada[3]) that exposes information about an object's data type at runtime. Run-time type information may be available for all types or only to types that explicitly have it (as is the case with Ada). Run-time type information is a specialization of a more general concept called type introspection.
In the original C++ design, Bjarne Stroustrup did not include run-time type information, because he thought this mechanism was often misused.[4]