typeid-Operator in C++

Der Typ-ID-Operator wird verwendet, um die Typinformationen eines Ausdrucks abzurufen. Typinformationen sind für Programmiersprachen sehr wichtig, da sie verschiedene Eigenschaften von Daten beschreiben:

  • Bei Daten von Basistypen (int, float und anderen in C++ integrierten Typen) ist der in den Typinformationen enthaltene Inhalt relativ einfach und bezieht sich hauptsächlich auf den Datentyp.

  • Bei Klassentypdaten (d. h. Objekten) beziehen sich die Typinformationen auf die Klasse, zu der das Objekt gehört, die darin enthaltenen Mitglieder, die Vererbungsbeziehung usw.

Typinformationen stellen eine Vorlage zum Erstellen von Daten dar. Wie viel Speicher die Daten belegen, welche Vorgänge sie ausführen können, wie sie bedient werden usw., werden alle durch ihre Typinformationen bestimmt.

Das Operationsobjekt von typeid kann entweder ein Ausdruck oder ein Datentyp sein. Es gibt zwei Möglichkeiten, es zu verwenden:

typeid( dataType )

Typ-ID (Ausdruck)

dataType ist der Datentyp, expression ist der Ausdruck, der dem sizeof-Operator sehr ähnlich ist, mit der Ausnahme, dass sizeof manchmal Klammern weglassen kann ( ), während typeid Klammern haben muss.

typeid speichert die erhaltenen Typinformationen in einem Objekt vom Typ type_info und gibt eine konstante Referenz des Objekts zurück. Wenn bestimmte Typinformationen benötigt werden, können diese über Mitgliedsfunktionen extrahiert werden. Die Verwendung von typeid ist sehr flexibel, siehe folgendes Beispiel (nur unter VC/VS lauffähig):

    #include <iostream>
    #include <typeinfo>
    using namespace std;
    class Base{ };
    struct STU{ };
    int main(){
        //获取一个普通变量的类型信息
   

Supongo que te gusta

Origin blog.csdn.net/shiwei0813/article/details/132781803
Recomendado
Clasificación