Was ist typId in C ++?

Was ist typId in C ++?

C++ ist eine leistungsstarke Programmiersprache, die ihren Benutzern eine breite Palette von Anwendungen bietet. Ein wichtiger Aspekt der C ++ - Programmiersprache ist die Fähigkeit, die Identifizierung des Laufzeittyps zu unterstützen. Der Typid gehört zu diesen Laufzeit-Identifikationen, die in C ++-Programmen häufig verwendet werden.

Wenn Sie nicht wissen, was Typid Befolgen Sie die Richtlinien dieses Artikels in C ++. Befolgen Sie die Richtlinien dieses Artikels.

Typid -Operator in C++

Der Typid ist ein integrierter Operator in der C ++-Programmiersprache, mit der Benutzer den Datentyp einer Variablen zur Laufzeit bestimmen können. Der Wert, der von zurückgegeben wurde Typid ist vom Typ „Typinfo„Das enthält verschiedene Details zum Typ des Objekts. In den Fällen ist es wichtig.

Syntax von TypId

Die Syntax von Typid Der Bediener in C ++ ist wie folgt:

Typid (Typ)

Oder:

Typid (exp)

Der Typid Der Bediener in C ++ akzeptiert einen dieser beiden Parameter.

Typ: Wenn wir den Laufzeittyp einer Variablen oder eines Objekts kennen müssen, liefern wir das Typ -Argument in der Typid Operator. In diesem Fall ist nur das Typ-Argument erforderlich, und die Laufzeit-Informationen werden ohne weitere Bewertung oder Vorverwaltung erfasst.

Ausdruck: Wenn wir Details zum Laufzeittyp eines Ausdrucks benötigen, wird der Expressionsparameter innerhalb der angegeben Typid Operator. Die Informationen über den Laufzeittyp werden nach dem Ausdruck in diesem Parameter bewertet.

Wenn mit a verwendet Typid, Es enthält Informationen zu dem Typ, der der Kennung entspricht. Bei Verwendung mit einem Ausdruck liefert es Informationen über den dynamischen Typ des Objekts.

Verwendung des Typid -Operators

Der Typid Der Bediener kann auf diese Weise verwendet werden.

  • Wenn Operand als Variable des Objekts fungiert
  • Wenn Operand ein Ausdruck ist

1: Wenn Operand als Variable des Objekts fungiert

Der Typid Der Bediener kann bei Operanden verwendet werden, wenn sie als Variable des Objekts fungieren.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
int i;
char ch;
float fl;
Doppel -DB;
const type_info & type_i = typeId (i);
const type_info & type_ch = typeId (ch);
const type_info & type_fl = typeId (fl);
const type_info & type_db = typeId (db);
Cout<<"Type of int i is: "<Cout<<"\nType of character ch is: "<Cout<<"\nType of float fl is: "<Cout<<"\nType of double db is: "<Rückkehr 0;

Im obigen Code deklarieren wir vier verschiedene Variablen, jeweils separater Datentypen. Wir verwenden dann die Typid Bediener in diesen Variablen und drucken Sie ihre Datentypen mit Cout -Anweisungen aus.

Ausgang

2: Wenn der Operand ein Ausdruck ist

Der Typid Der Bediener kann auch verwendet werden, wenn der Operand als Ausdruck behandelt wird.

#enthalten
#enthalten
Verwenden von Namespace STD;
int main ()
int i = 7;
char ch = 'a';
float fl = 42.4;
double db = 4.279;
const type_info & type_a = typeId (i+ch);
const type_info & type_b = typeId (i*fl);
const type_info & type_c = typeId (db*fl);
const type_info & type_d = typeId (i+db);
Cout<<"expression i+ch : "<Cout<<"\nexpression i*fl : "<Cout<<"\nexpression db*fl : "<Cout<<"\nexpression i+db : "<Rückkehr 0;

Im obigen Code initialisieren wir vier Variablen verschiedener Datentypen. Dann bewerten wir einige Ausdrücke und berechnen ihren Typ mit dem c++ Typid() Operator.

Ausgang

Vor- und Nachteile von TypId in c++

Der Typid ist nützlich beim Schreiben von Code, der mit Objekten funktioniert, die bis zur Laufzeit nicht bekannt sind. Nehmen wir beispielsweise an, dass eine Funktion einen Hohlraumzeiger als Parameter nimmt. Es kann gebrauchen Typid um festzustellen, ob der Zeiger auf ein INT oder ein Doppel ist, was sich erheblich auswirken kann, wie die Funktion funktionieren soll.

Zusätzlich zum Typenname “die“TypinfoDas Objekt enthält auch verschiedene weitere Details zum Typ. Diese beinhalten:

  • Ob der Typ ein grundlegender Typ, ein Zeigertyp oder ein benutzerdefinierter Typ ist.
  • Ob der Typ "const" oder "flüchtig" ist.
  • Ob der Typ ein Klassentyp ist und wenn ja, ob er polymorph ist.
  • Ob der Typ ein Array -Typ ist und wenn ja, wie die Abmessungen sind.
  • Ob der Typ ein Referenztyp ist.

Der Typid ist auch hilfreich, wenn es um Vorlagen und Funktionen geht, die eine variable Anzahl von Argumenten annehmen. Durch Verwendung der “TypidOperator können Sie zur Laufzeit typspezifische Aktionen ergreifen, z.

Ein möglicher Nachteil von Typid ist, dass es etwas langsam ist. Es ist in der Regel langsamer als andere Typen von Typen, z.

Abschluss

Der "TypidDer Operator in C ++ bietet 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.