Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arguments Positionnels et par Défaut | Spécification des Arguments de Fonction
Fonctions C++

Arguments Positionnels et par Défaut

Glissez pour afficher le menu

Arguments positionnels

Les arguments positionnels sont une méthode pour transmettre des valeurs à une fonction dans un ordre spécifique, basé sur la signature de la fonction. Les valeurs sont associées aux paramètres selon leur position dans la liste des paramètres de la signature de la fonction. La position de chaque argument détermine à quel paramètre il correspond.

main.cpp

main.cpp

1234567891011121314151617181920
#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) return 0; return a / b; } int main() { float x = 8; float y = 4; // Calling the 'divide' function with two positional arguments float result = divide(x, y); std::cout << result << std::endl; }

Vous pouvez réaliser une petite expérience : changez l'ordre de passage des arguments à la fonction (utilisez divide (y, x) au lieu de divide(x, y)), et vous verrez que le résultat a changé. C'est précisément l'essence des arguments positionnels : l'ordre de passage des paramètres à la fonction est important et influence directement son résultat.

Arguments par défaut

Les arguments par défaut permettent d'attribuer des valeurs par défaut aux paramètres d'une fonction. Si une fonction est appelée sans fournir tous les arguments, les paramètres manquants utilisent leurs valeurs par défaut. Pour définir une valeur par défaut, il suffit d'assigner une valeur au paramètre directement dans la déclaration de la fonction.

main.cpp

main.cpp

12345678910111213141516171819202122
#include <iostream> // Default value is set for the third parameter float divide(float a, float b, bool terminate = true) { if (b == 0) { if (terminate) return 0; return a / 0.000001; // Prevent crash by using a very small number } return a / b; } int main() { std::cout << divide(10, 2) << std::endl; // Normal division std::cout << divide(10, 0) << std::endl; // Default behavior (error) std::cout << divide(10, 0, false) << std::endl; // Forced division }

La fonction divide() divise un nombre par un autre. Si le dénominateur (b) est égal à zéro :

  • terminate = true → retourne 0
  • terminate = false → divise par un très petit nombre pour éviter une erreur

Le paramètre terminate a une valeur par défaut de true, il peut donc être omis. Définir terminate = false permet de poursuivre le calcul au lieu de l'arrêter.

Note
Remarque

Il est important que tous les arguments par défaut soient placés après les arguments positionnels dans la liste des paramètres. Sinon, le compilateur générera une erreur.

question mark

Quelle déclaration de fonction utilise correctement les arguments positionnels et par défaut ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 1

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 2. Chapitre 1
some-alt