Positionele en Standaardargumenten
Veeg om het menu te tonen
Positie-argumenten
Positie-argumenten zijn een manier om waarden aan een functie door te geven in een specifieke volgorde op basis van de functiedeclaratie. De waarden worden gekoppeld aan parameters volgens hun posities in de parameterlijst van de functiedeclaratie. De positie van elk argument bepaalt met welke parameter het overeenkomt.
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; }
Je kunt een klein experiment uitvoeren: verander de volgorde waarin argumenten aan de functie worden doorgegeven (gebruik divide (y, x) in plaats van divide(x, y)), en je zult zien dat het resultaat verandert. Dit is precies de essentie van positie-argumenten: de volgorde waarin parameters aan de functie worden doorgegeven is belangrijk en beïnvloedt direct het resultaat.
Standaardargumenten
Standaardargumenten maken het mogelijk om standaardwaarden toe te wijzen aan functieparameters. Als een functie wordt aangeroepen zonder alle argumenten op te geven, gebruiken de ontbrekende argumenten hun standaardwaarden. Om een standaardwaarde in te stellen, geef je de parameter direct een waarde in de functiedeclaratie.
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 }
De functie divide() deelt een getal door een ander getal.
Als de noemer (b) nul is:
terminate = true→ retourneert0terminate = false→ deelt door een zeer klein getal om een fout te voorkomen
De parameter terminate heeft een standaardwaarde van true, dus deze kan worden weggelaten. Stel terminate = false in om de berekening voort te zetten in plaats van te stoppen.
Het is belangrijk dat alle standaardargumenten na de positionele argumenten in de parameterlijst staan. Anders geeft de compiler een foutmelding.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.