Maison >développement back-end >C++ >Utilisation de typeid en C++

Utilisation de typeid en C++

下次还敢
下次还敢original
2024-05-01 11:42:17855parcourir

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>

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>

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!

Déclaration:
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