Třída type_info
Type_info třída popisuje typ informace generované v rámci programu kompilátorem.Objekty této třídy úložiště účinně ukazatel myši na název typu.Type_info vhodné pro porovnání dvou typů pro rovnost nebo pořadí řazení zakódovanou hodnotou úložišť tříd.Pravidla kódování a typy pořadí řazení není specifikován a mezi programy se mohou lišit.
<typeinfo> záhlaví souboru musí být zahrnuty pro použití type_info třídy.Pro rozhraní type_info je třída:
class type_info {
public:
virtual ~type_info();
size_t hash_code() const
_CRTIMP_PURE bool operator==(const type_info& rhs) const;
_CRTIMP_PURE bool operator!=(const type_info& rhs) const;
_CRTIMP_PURE int before(const type_info& rhs) const;
_CRTIMP_PURE const char* name() const;
_CRTIMP_PURE const char* raw_name() const;
};
Nelze vytvořit instanci objektů type_info třídy přímo, protože soukromé Kopírovat konstruktor třídy.Jediným způsobem, jak sestavit (dočasné) type_info je typeid operátor.Operátor přiřazení, protože je také soukromé nelze kopírovat nebo přiřadit objekty třídy type_info.
type_info::hash_code definuje funkci hash vhodné pro mapování hodnot typu volání typeinfo rozdělení hodnot indexu.
Hospodářské subjekty == a != lze použít k porovnání s jinými rovnosti a nerovnost type_info resp. objekty.
Mezi typy pořadí slučování a vztahy dědičnosti neexistuje propojení.Použití type_info::before členské funkce určit pořadí kompletování typů.Není zaručeno, že type_info::before , povede stejného výsledku v různých aplikacích nebo dokonce i různé spustí stejný program.Tímto způsobem type_info::before je podobný adresu z (a) operátor.
Type_info::name členské funkce vrací const char * zakončený řetězec představující popisný název typu.Na paměti do mezipaměti a by nikdy nezpůsobí přímo.
Type_info::raw_name členské funkce vrací const char * zakončený řetězec představující dekorovaný název typu objektu.Název skutečně uloženy v podobě dekorovaný místa uložení.Tato funkce je proto rychlejší než type_info::name protože nemusí název undecorate.Řetězec vrácený type_info::raw_name funkce je užitečná v operacích porovnávání, ale není čitelný.Pokud potřebujete popisný řetězec, použijte type_info::name namísto funkce.
Informace o typu je generován pro třídy polymorfní pouze tehdy, pokud Parametry kompilátoru /GR (povolit spuštění typ informace) je zadán parametr kompilátoru.