type_info sınıfı
Type_info sınıf programında derleyici tarafından oluşturulan tür bilgileri açıklar. Bu sınıftaki nesnelerin etkili türü için bir ad için bir işaretçi depolayın. Type_info sınıfı da kodlanmış değerle eşitlik için iki tür karşılaştırma veya harmanlama sırası için uygun depolar. Kodlama kurallarını ve harmanlama sırasını türleri için belirsiz ve programlar arasında farklılık gösterebilir.
<typeinfo> üstbilgi dosyası dahil edilmesi gerekir kullanmak için type_info sınıfı. Arabirim için type_info sınıfıdır:
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;
};
Nesneleri başlatılamıyor type_info sınıfı yalnızca özel kopya kurucusu olduğundan, doğrudan sınıf. (Geçici) oluşturmak için tek yol type_info nesnedir kullanmak için TypeID işleci. Atama işleci de özel olduğundan, kopyalayamaz veya sınıfın nesnelerini Ata type_info.
type_info::hash_code türünün değerlerini eşleştirmek için uygun bir karma işlevi tanımlar TypeInfo bir dağıtım dizin değerleri.
İşleçleri == ve != eşitlik ve eşitsizlik birbirleriyle karşılaştırmak için kullanılan type_info nesneleri, sırasıyla.
Harmanlama sırası türleri ve kalıtım ilişkileri arasında bir bağlantı yoktur. Use type_info::before üye işlev türleri harmanlama sırasını belirlemek için. Garanti, type_info::before aynı sonucu farklı programlar veya hatta farklı çalışır aynı programın sonucunu verir. Bu şekilde type_info::before adresi-of için benzer (&) işleci.
Type_info::name üye işlevi döndüren bir const char * için boş sonlandırılmış türünün kullanıcı tarafından okunabilen adını gösteren bir dizedir. Sıralanmasını bellek önbelleğe alınır ve hiçbir zaman doğrudan bırakılmasına.
Type_info::raw_name üye işlevi döndüren bir const char * için boş sonlandırılmış Süslenmiş nesne türünün adını gösteren bir dizedir. Adı gerçekten kazanmak için kendi Süslenmiş formunda saklanır. Sonuç olarak, bu işlev daha hızlı type_info::name ad undecorate gerekmediğinden. Tarafından döndürülen dize type_info::raw_name işlevini karşılaştırma işlemlerinde yararlıdır ancak okunabilir değil. Kullanıcı tarafından okunabilen bir dize gerekirse, type_info::name yerine çalışması.
Tür bilgileri uymanız sınıflar yalnızca IF için üretilen /gr (çalışma zamanı tür bilgilerini etkinleştir) derleyici seçeneği belirtilmiş.