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

Où les valeurs des paramètres par défaut doivent-elles être définies en C ?

Mary-Kate Olsen
Libérer: 2024-11-26 22:52:11
original
347 Les gens l'ont consulté

Where Should Default Parameter Values Be Defined in C  ?

Définir les valeurs des paramètres par défaut en C

En C , où devez-vous définir la valeur par défaut d'un paramètre de fonction : dans la déclaration uniquement, dans la définition uniquement, ou aux deux endroits ?

La réponse est que la valeur du paramètre par défaut doit être spécifiée dans la déclaration, pas dans la définition. La déclaration est la seule partie visible de la fonction par l'appelant, elle doit donc contenir toutes les informations nécessaires pour que la fonction soit appelée correctement.

En d'autres termes, la valeur du paramètre par défaut fait partie du type de la fonction. signature. Il détermine le type du paramètre et s'il a une valeur par défaut. Si la valeur du paramètre par défaut est omise de la déclaration, le compilateur supposera que le paramètre n'a pas de valeur par défaut et générera une erreur s'il n'est pas fourni par l'appelant.

Par exemple, la fonction suivante La déclaration définit une fonction qui prend deux paramètres entiers, x et y, avec des valeurs par défaut de 0 et 1, respectivement :

int foo(int x = 0, int y = 1);
Copier après la connexion

L'appel de fonction suivant appelle la fonction foo avec les valeurs par défaut pour les deux paramètres :

int result = foo();
Copier après la connexion

L'appel de fonction suivant appelle la fonction foo avec une valeur autre que celle par défaut pour le paramètre x :

int result = foo(5);
Copier après la connexion

Notez que la valeur du paramètre par défaut pour y est toujours utilisé dans le deuxième appel de fonction, même si le paramètre x est explicitement spécifié. En effet, la valeur du paramètre par défaut fait partie de la signature de type de la fonction et il n'est pas possible de la remplacer dans l'appel de fonction.

Il est possible de définir la valeur du paramètre par défaut dans la définition de la fonction, mais cela n’est pas recommandé. La définition n'est visible que par le compilateur et n'affecte pas la signature de type de la fonction. En conséquence, cela peut être déroutant à maintenir et cela peut conduire à des erreurs si la valeur du paramètre par défaut est modifiée dans la déclaration mais pas dans la définition.

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