Maison > développement back-end > C++ > le corps du texte

Utilisation de typeid en C++

下次还敢
Libérer: 2024-05-01 11:42:17
original
747 Les gens l'ont consulté

L'opérateur

typeid obtient les informations de type statique de l'objet et renvoie un objet type_info, qui contient le nom du type, la taille, l'alignement, la classe de base, les modificateurs et d'autres informations. Les informations sur les objets sont accessibles via des méthodes telles que name(), before() et base().

Utilisation de typeid en C++

Utilisation de typeid en C++

L'opérateur typeid est un mot-clé C++ utilisé pour obtenir les informations de type statique d'un objet. Il renvoie un objet type_info qui contient diverses informations sur le type d'objet.

Utilisation :

L'opérateur typeid est suivi d'une expression qui représente l'expression dont les informations de type doivent être obtenues. L'expression peut être :

  • Variable
  • Expression
  • Type de retour de fonction
  • Alias ​​de type

Syntaxe :

<code class="cpp">typeid(expression) // 其中 expression 是要获取其类型信息的表达式</code>
Copier après la connexion

Valeur de retour :

l'opérateur typeid renvoie un objet type_info qui contient informations sur les éléments suivants informations sur le type d'objet :

  • Nom du type
  • Taille du type
  • Alignement du type
  • Informations sur la dérivation du type
  • Informations de base sur le type
  • Informations sur le modificateur de type
  • Informations sur la modification du type

accessibles dans l'objet type_info via les méthodes suivantes Informations :

  • name() : renvoie le nom du type
  • before() et after() : récupère la classe de base de la classe dérivée et obtient la classe dérivée de la classe de base
  • base() : renvoie la classe de base directe
  • grow() et Shrink() : modifiez la taille du tableau dans le nom du type
  • modifier() : renvoie le modificateur de type

Exemple :

<code class="cpp">int main() {
  int x;
  std::string s;
  std::cout << typeid(x).name() << std::endl; // 输出:int
  std::cout << typeid(s).name() << std::endl; // 输出:std::__cxx11::basic_string<char>
  return 0;
}</code>
Copier après la connexion

Remarque :

  • opérateur typeid ne peut être utilisé que pour des informations de type statique. Il ne peut pas être utilisé pour obtenir des informations de type d’exécution pour un objet.
  • Les résultats de l'opérateur typeid peuvent varier selon les compilateurs et les plates-formes.
  • L'opérateur typeid a très peu de surcharge, mais son utilisation fréquente peut dégrader les performances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
c++
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal