Można użyć informacji o typach, uzyskiwanej podczas wykonywania programu, aby dowiedzieć się czegoś więcej o klasie wskazywanej przez wskaźnik. Informacje o typach dla polimorficznych klas będą generowane tylko wtedy, gdy jest włączona opcja /GR kompilatora.
Użycie informacji o typach wprowadza duże dodatkowe obciążenie. Ogólnie lepiej unikać używania tych informacji, chociaż może być ona użyteczna w trakcie usuwania usterek.
Poleganie na informacji o typach, uzyskiwanej podczas wykonywania programu może też wpędzić nas w kłopoty. Zazwyczaj rzutowanie wskaźnika do klasy podstawowej na wskaźnik do klasy pochodnej jest złym pomysłem, ponieważ łatwo wywołać nieistniejące metody lub próbować uzyskać dostęp do nieistniejących zmiennych. Informacja o typach, uzyskiwana podczas wykonywania programu pozwala osiągnąć to bezpiecznie, ale raczej nie należy tego robić. Prawie zawsze istnieje inna metoda uzyskania tego samego efektu. Ogólnie należy unikać używania instrukcji dynamic_cast.
Jednym z łatwych sposobów uzyskania informacji o typie bez włączania informacji o typach uzyskiwanej podczas wykonywania programu, jest wywodzenie każdej klasy ze wspólnej klasy podstawowej, której konstruktor uzyskuje informacje o typie z klasy pochodnej. To może służyć tylko do celów naprawczych w trakcie usuwania usterek.
Przykład: TextRegExp() w pliku regexp.cpp
unikanie nieoczekiwanych wyników
class Napis
private:
const int m_cchTest; int m_cch; char *m_pch; public:
Napis(void) : m_cch(0), m_cchTest(10)
m_pch = NULL;