Run-time type information

From Free net encyclopedia

Revision as of 10:11, 17 March 2006; view current revision
←Older revision | Newer revision→

Runtime Type Information (RunTime Type Identification) is information about an object's datatype that is set into memory at runtime.

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 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<derived &>(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<derived &>(ref2));
}

[[Category:C++]]de:RTTI fr:Run-time type information it:RTTI pl:RTTI ru:Тип данных#Динамическая идентификация типа данных