Positions- und Standardargumente
Swipe um das Menü anzuzeigen
Positionsargumente
Positionsargumente sind eine Methode, Werte an eine Funktion in einer bestimmten Reihenfolge entsprechend der Funktionssignatur zu übergeben. Die Werte werden den Parametern gemäß ihrer Position in der Parameterliste der Funktionssignatur zugeordnet. Die Position jedes Arguments bestimmt, welchem Parameter es entspricht.
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; }
Ein kleines Experiment: Ändern Sie die Reihenfolge der Argumentübergabe an die Funktion (verwenden Sie divide (y, x) statt divide(x, y)), und Sie werden feststellen, dass sich das Ergebnis geändert hat. Genau das ist das Wesen von Positionsargumenten: Die Reihenfolge der Parameterübergabe an die Funktion ist wichtig und beeinflusst direkt das Ergebnis.
Standardargumente
Standardargumente ermöglichen das Zuweisen von Standardwerten zu Funktionsparametern. Wenn eine Funktion ohne alle Argumente aufgerufen wird, verwenden die fehlenden Parameter ihre Standardwerte. Um einen Standardwert festzulegen, wird dem Parameter direkt in der Funktionsdeklaration ein Wert zugewiesen.
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 }
Die Funktion divide() teilt eine Zahl durch eine andere.
Wenn der Nenner (b) null ist:
terminate = true→ gibt0zurückterminate = false→ Division durch eine sehr kleine Zahl, um einen Fehler zu vermeiden
Der Parameter terminate hat den Standardwert true und kann daher weggelassen werden. Setze terminate = false, um die Berechnung fortzusetzen, anstatt sie zu beenden.
Es ist wichtig, dass alle Standardargumente nach den Positionsargumenten in der Parameterliste stehen. Andernfalls gibt der Compiler einen Fehler aus.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen