Was ist typid in C++

Was Ist Typid In C



C++ ist eine mächtige Programmiersprache, die ihren Benutzern ein breites Anwendungsspektrum bietet. Ein wichtiger Aspekt der Programmiersprache C++ ist ihre Fähigkeit, Laufzeittypidentifizierung zu unterstützen. Der Typ-ID gehört zu den Laufzeittypidentifikationen, die in C++-Programmen weit verbreitet sind.

Wenn Sie nicht wissen, was Typ-ID in C++ ist, befolgen Sie die Richtlinien dieses Artikels.







typeid-Operator in C++

Der Typ-ID ist ein integrierter Operator in der Programmiersprache C++, mit dem Benutzer den Datentyp einer Variablen zur Laufzeit bestimmen können. Der von zurückgegebene Wert Typ-ID ist vom Typ „typinfo “, die verschiedene Details über die Art des Objekts liefert. Dies ist in den Fällen wichtig, in denen ein Programm mehrere Operationen basierend auf dem verwendeten Datentyp ausführen muss.



Syntax von typeid



Die Syntax von Typ-ID Operator in C++ ist wie folgt:





Typ-ID ( Typ )

Oder:



Typ-ID ( exp )

Der Typ-ID -Operator in C++ akzeptiert einen dieser beiden Parameter.

Typ : Wenn wir den Laufzeittyp einer Variablen oder eines Objekts kennen müssen, geben wir das Typargument innerhalb von an Typ-ID Operator. In diesem Fall wird nur das Typargument benötigt, und die Informationen zum Laufzeittyp werden ohne weitere Auswertung oder Vorberechnung erfasst.

Ausdruck : Wenn wir Details über den Laufzeittyp eines Ausdrucks benötigen, wird der Ausdrucksparameter innerhalb von angegeben Typ-ID Operator. Die Information über den Laufzeittyp wird genommen, nachdem der Ausdruck in diesem Parameter ausgewertet wurde.

Bei Verwendung mit a Typ-ID , gibt es Auskunft über den Typ, der dem Bezeichner entspricht. Wenn es mit einem Ausdruck verwendet wird, liefert es Informationen über den dynamischen Typ des Objekts.

Verwendung des typeid-Operators

Der Typ-ID Operator kann auf diese Weise verwendet werden.

1: Wenn Operand als Variable des Objekts fungiert

Der Typ-ID operator kann für Operanden verwendet werden, wenn sie als Variable des Objekts fungieren.

#include
#include
mit Namensraum std;

int Haupt ( ) {
int ich;
char ch;
float fl;
Doppel-db;

const type_info & type_i = Typ-ID ( ich ) ;
const type_info & type_ch = Typ-ID ( CH ) ;
const type_info & type_fl = Typ-ID ( In ) ;
const type_info & type_db = Typ-ID ( db ) ;

cout << 'Typ von int i ist: ' << type_i.name ( ) ;
cout << ' \N Zeichentyp ch ist: ' << type_ch.name ( ) ;
cout << ' \N Float-Typ fl ist: ' << type_fl.name ( ) ;
cout << ' \N Art der Doppel-DB ist: ' << type_db.name ( ) << ' \N ' ;

zurückkehren 0 ;
}

Im obigen Code deklarieren wir vier verschiedene Variablen, jede mit separatem Datentyp. Wir verwenden dann die Typ-ID Operator auf diese Variablen und geben ihre Datentypen mit cout-Anweisungen aus.

Ausgang

2: Wenn der Operand ein Ausdruck ist

Der Typ-ID operator kann auch verwendet werden, wenn der Operand als Ausdruck behandelt wird.

#include
#include
mit Namensraum std;

int Haupt ( ) {
int ich = 7 ;
char ch = 'A' ;
Schwimmer fl = 42.4 ;
Doppel-db = 4.279 ;

const type_info & type_a = Typ-ID ( i+ch ) ;
const type_info & type_b = Typ-ID ( ich * In ) ;
const type_info & type_c = Typ-ID ( db * In ) ;
const type_info & type_d = Typ-ID ( i+db ) ;

cout << 'Ausdruck i+ch : ' << type_a.name ( ) ;
cout << ' \N Ausdruck i*fl : ' << type_b.name ( ) ;
cout << ' \N Ausdruck db*fl : ' << type_c.name ( ) ;
cout << ' \N Ausdruck i+db : ' << eingegebener Name ( ) ;
zurückkehren 0 ;
}

Im obigen Code initialisieren wir vier Variablen unterschiedlicher Datentypen. Dann werten wir einige Ausdrücke aus und berechnen ihren Typ mit C++ Typ-ID () Operator.

Ausgang

Vor- und Nachteile von typeid in C++

Der Typ-ID ist nützlich, wenn Sie Code schreiben, der mit Objekten arbeitet, die erst zur Laufzeit bekannt sind. Angenommen, eine Funktion akzeptiert einen void-Zeiger als Parameter. Es kann verwenden Typ-ID um festzustellen, ob der Zeiger auf ein int oder ein double zeigt, was sich erheblich auf die Funktionsweise der Funktion auswirken kann.

Neben dem Typennamen ist das „ Typinfo ”-Objekt liefert auch verschiedene andere Details über den Typ. Diese beinhalten:

  • Ob der Typ ein grundlegender Typ, ein Zeigertyp oder ein benutzerdefinierter Typ ist.
  • Ob der Typ „const“ oder „volatile“ ist.
  • Ob der Typ ein Klassentyp ist und falls ja, ob er polymorph ist.
  • Ob der Typ ein Array-Typ ist und wenn ja, wie die Dimensionen sind.
  • Ob der Typ ein Referenztyp ist.

Der Typ-ID ist auch hilfreich beim Umgang mit Vorlagen und Funktionen, die eine variable Anzahl von Argumenten annehmen. Durch die Verwendung des „ Typ-ID ”-Operator können Sie zur Laufzeit typspezifische Aktionen ausführen, z. B. das richtige Template oder die richtige Funktion auswählen.

Ein möglicher Nachteil von Typ-ID ist, dass es etwas langsam ist. Sie ist in der Regel langsamer als andere Arten der Typprüfung, wie z. B. Vorlagenparameter oder Typprüfungen zur Kompilierzeit, da sie den Typ eines Objekts während der Laufzeit untersucht.

Abschluss

Der ' Typ-ID ”-Operator in C++ liefert wertvolle Informationen über den Datentyp einer Variablen oder eines Objekts. Es ermöglicht Programmierern, typspezifische Aktionen zur Laufzeit auszuführen, und kann verwendet werden, wenn der Operand als Variable fungiert oder wenn der Operand ein Ausdruck ist.