Run Time Type Information is a computer programming term used to identify that a given language has the ability to determine the type of a program's object/variable at runtime.
Although available in most computer languages, RTTI, as a term, is typically used in relation to C++. In order for the dynamic_cast<> operation or the type_info operator to work in C++ , RTTI must be enabled.
An instance where RTTI is used is illustrated below:
class base {
};
class derived : public base {
public:
int compare(derived &ref);
};
int my_comparison_method_for_generic_sort(base &ref1, base &ref2)
{
derived d = dynamic_cast(ref1); // rtti used here
// rtti enables the process to throw a bad_cast exception
// if the cast is not successful
return d.compare(dynamic_cast(ref2));
}
|