Maison > développement back-end > C++ > Pourquoi les virgules finales sont-elles autorisées dans les listes d'initialisation C ?

Pourquoi les virgules finales sont-elles autorisées dans les listes d'initialisation C ?

Patricia Arquette
Libérer: 2024-12-11 02:15:10
original
345 Les gens l'ont consulté

Why Are Trailing Commas Allowed in C   Initializer Lists?

Virgules redondantes dans les listes d'initialisation

Il peut sembler surprenant que C autorise les virgules de fin dans les listes d'initialisation, telles que :

int a[] = {1, 2,};
Copier après la connexion

Normalement, les virgules redondantes ne sont pas autorisées en C, comme le montre l'argument de la fonction lists :

// Syntax error
function_call(arg1, arg2,);
Copier après la connexion

Cependant, dans le cas de listes d'initialiseurs, cette restriction est explicitement levée.

Justification des virgules redondantes

Cette flexibilité sert à plusieurs fins :

  • Génération de code Simplification :
    Il simplifie le processus de génération du code source en fournissant un traitement uniforme pour tous les éléments de la liste. Aucune manipulation particulière n'est requise pour le dernier élément.
  • Extension de code facile :
    L'ajout ou la suppression d'éléments de la liste devient plus pratique lorsque tous les éléments ont déjà des virgules de fin. Pas besoin de vous soucier de modifier la structure de la liste.
  • Transformation du code :
    Elle permet une réorganisation plus facile ou d'autres transformations des éléments de la liste sans avoir besoin de modifier les virgules.

Exemple de code

Considérez ce qui suit code :

int a[] = {
   1,
   2,
   3
};
Copier après la connexion

Pour ajouter un élément à la liste, il vous suffit d'ajouter une ligne :

int a[] = {
   1,
   2,
   3,
   4
};
Copier après la connexion

Comparez ceci au cas sans virgules finales :

int a[] = {
   1
   2
   3
};
Copier après la connexion

Ajouter un élément nécessiterait de modifier la ligne existante et d'ajouter une nouvelle ligne :

int a[] = {
   1
   2,
   3,
   4
};
Copier après la connexion

Ainsi, autoriser la fin les virgules dans les listes d'initialisation réduisent la complexité du code et améliorent la maintenabilité.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal