Qu'est-ce que TypeID en C ++

Qu'est-ce que TypeID en C ++

C++ est un langage de programmation puissant qui offre une large gamme d'applications à ses utilisateurs. Un aspect important du langage de programmation C ++ est sa capacité à soutenir l'identification du type d'exécution. Le typeid fait partie de ces identifications de type d'exécution largement utilisées dans les programmes C ++.

Si tu ne sais pas quoi typeid est en C ++, suivez les directives de cet article.

Opérateur de typeID en C++

Le typeid est un opérateur intégré dans le langage de programmation C ++ qui permet aux utilisateurs de déterminer le type de données d'une variable au moment de l'exécution. La valeur renvoyée par typeid est de type «TypeInfo«, Qui fournit divers détails sur le type de l'objet. Il est important dans les cas où un programme doit effectuer plusieurs opérations en fonction du type de données utilisé.

Syntaxe de typeid

La syntaxe de typeid L'opérateur en C ++ est le suivant:

TypeID (type)

Ou:

TypeID (EXP)

Le typeid L'opérateur en C ++ accepte l'un de ces deux paramètres.

Taper: Lorsque nous devons connaître le type d'exécution d'une variable ou d'un objet, nous fournissons l'argument de type à l'intérieur du typeid opérateur. Seul l'argument de type est nécessaire dans ce cas, et les informations de type d'exécution seront collectées sans autre évaluation ou pré-computation.

Expression: Lorsque nous avons besoin de détails sur le type d'exécution d'une expression, le paramètre d'expression est donné dans le typeid opérateur. Les informations sur le type d'exécution sont prises après l'évaluation de l'expression de ce paramètre.

Lorsqu'il est utilisé avec un typeid, Il fournit des informations sur le type qui correspond à l'identifiant. Lorsqu'il est utilisé avec une expression, il fournit des informations sur le type dynamique de l'objet.

Utilisations de l'opérateur de typeid

Le typeid L'opérateur peut être utilisé de cette manière.

  • Lorsque l'opérande agit comme une variable de l'objet
  • Lorsque l'opérande est une expression

1: Lorsque l'opérande agit comme variable de l'objet

Le typeid L'opérateur peut être utilisé sur les opérandes lorsqu'ils agissent comme une variable de l'objet.

#inclure
#inclure
Utilisation de Namespace Std;
int main()
int i;
Char Ch;
Float fl;
double 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);
couter<<"Type of int i is: "<couter<<"\nType of character ch is: "<couter<<"\nType of float fl is: "<couter<<"\nType of double db is: "<retour 0;

Dans le code ci-dessus, nous déclarons quatre variables différentes, chacune du type de données distinct. Nous utilisons ensuite le typeid Opérateur sur ces variables et imprimez leurs types de données à l'aide de instructions COUT.

Sortir

2: Lorsque l'opérande est une expression

Le typeid L'opérateur peut également être utilisé lorsque l'opérande est traité comme une expression.

#inclure
#inclure
Utilisation de 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);
couter<<"expression i+ch : "<couter<<"\nexpression i*fl : "<couter<<"\nexpression db*fl : "<couter<<"\nexpression i+db : "<retour 0;

Dans le code ci-dessus, nous initialisons quatre variables de différents types de données. Ensuite, nous évaluons certaines expressions et calculons leur type en utilisant le C++ typeid() opérateur.

Sortir

Avantages et inconvénients de typeid en c++

Le typeid est utile lors de l'écriture de code qui fonctionne avec des objets qui ne sont pas connus avant l'exécution. Par exemple, supposons qu'une fonction prend un pointeur vide comme paramètre. Il peut utiliser typeid pour déterminer si le pointeur se trouve sur un int ou un double, ce qui peut affecter considérablement le fonctionnement de la fonction.

En plus du nom de type, le «typeinfo"L'objet fournit également divers autres détails sur le type. Ceux-ci inclus:

  • Que le type soit un type fondamental, un type de pointeur ou un type défini par l'utilisateur.
  • Que le type soit «const» ou «volatile».
  • Si le type est un type de classe, et si oui, qu'il soit polymorphe.
  • Si le type est un type de tableau, et si oui, quelles sont les dimensions.
  • Si le type est un type de référence.

Le typeid est également utile pour traiter les modèles et les fonctions qui prennent un nombre variable d'arguments. En utilisant le «typeid»Opérateur, vous pouvez prendre des actions spécifiques au type à l'exécution, comme le choix du bon modèle ou de la bonne fonction à utiliser.

Un inconvénient possible de typeid est-ce que c'est quelque peu lent. Il est généralement plus lent que les autres types de vérification de type, tels que les paramètres de modèle ou les contrôles de type de compilation, car il examine le type d'un objet pendant l'exécution.

Conclusion

Le "typeid»L'opérateur en C ++ fournit des informations précieuses sur le type de données d'une variable ou d'un objet. Il permet aux programmeurs d'effectuer des actions spécifiques au type à l'exécution et peuvent être utilisées lorsque l'opérande agit comme une variable, ou lorsque l'opérande est une expression.