Sdílet prostřednictvím


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.

Viz také

Referenční dokumentace

Informace o typu Run-Time