RTTI or Run Time Type Information is another feature that allows flexibility to the C++ programmer. In this and the next module, we will be throwing some light on how RTTI functions and how a programmer can take advantage of it. RTTI is used to find out the type of an object at runtime. This is a very handy tool for making sure the object type is exactly learned before any assignment is made. We have already seen the consequences of assigning a base class object to derived and a derived class object to the base. This system, being a runtime component, impacts the performance of the system to such a notable extent that it is usually kept disabled by default. If we want our solution to use RTTI, we ought to enable the RTTI. Some applications can sustain performance penalty but demand better decision – making process at runtime. For example, applications which talk to other applications over the web. The performance of the system does not matter as the delay is largely decided by the latency of the client server operation. However, if the application is about fetching data from the local database server or communicating with the local protocol stack etc., performance cannot be ignored. We assume that the programs that we are describing in these two modules are of the type where performance is a secondary
1. If you are anyway planning to use virtual functions, the overhead needed by the RTTI is not much and one can use it without being concerned much about performance.
To manage RTTI, ANSI C++ standard provided two keywords, typeid which basically indicates the type of the object, and dynamic_cast, a casting operator to cast only when the casting is safe. We will introduce typeid in this module and dynamic_cast in the next module.
|Run Time Type Information||00:28:00|
No Reviews found for this course.
2 STUDENTS ENROLLED