Positions- und Standardargumente
Positionsargumente sind eine Methode, Werte an eine Funktion in einer bestimmten Reihenfolge entsprechend der Funktionssignatur zu übergeben.
Sie werden als "Positionsargumente" bezeichnet, da die Werte den Parametern entsprechend ihrer Position in der Parameterliste der Funktionssignatur zugeordnet werden. Die Position jedes Arguments bestimmt, welchem Parameter es entspricht.
main.cpp
123456789101112131415161718192021#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) { std::cout << "Error: Division by zero is not allowed" << std::endl; 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 << "The result is: " << result << std::endl; }
Sie können ein kleines Experiment durchführen: Ändern Sie die Reihenfolge der Übergabe von Argumenten an die Funktion (verwenden Sie divide (y, x) anstelle von divide(x, y)), und Sie werden feststellen, dass sich das Ergebnis geändert hat. Genau das ist das Wesen von Positionsargumenten: Die Reihenfolge der Übergabe von Parametern an die Funktion ist wichtig und beeinflusst das Ergebnis direkt.
Standardargumente
Standardargumente in C++ ermöglichen es, Standardwerte für Funktionsparameter anzugeben. Wenn Sie Standardwerte für Parameter in einer Funktionsdeklaration angeben, bedeutet dies, dass der Standardwert verwendet wird, falls beim Funktionsaufruf kein explizites Argument für diesen Parameter übergeben wird. Sie können einen Standardwert angeben, indem Sie das erforderliche Argument einfach mit einem Wert in der Funktionssignatur instanziieren.
Betrachten wir ein Beispiel basierend auf unserer divide()-Funktion:
main.cpp
123456789101112131415161718192021#include <iostream> // Added the third default argument with specified value float divide(float a, float b, bool divideByZero = false) { if (b == 0 && !divideByZero) { std::cerr << "Error: Division by zero is not allowed." << std::endl; return 0; } else if (b == 0 && divideByZero) return a / 0.0000001; else return a / b; } int main() { float result1 = divide(51, 0.0, true); // Division by zero allowed std::cout << "Allowed: " << result1 << std::endl; float result2 = divide(7.0, 0.0); // Default behavior (Error message) std::cout << "Default: " << result2 << std::endl; }
Wir sehen, dass das Argument divideByZero einen angegebenen Standardwert false hat und beim Funktionsaufruf ignoriert werden kann. Möchten wir jedoch einen Fehler vermeiden und die Berechnung fortsetzen, können wir am Ende der Parameterliste divideByZero=true setzen.
Hinweis
Es ist wichtig, dass sich alle Standardargumente nach den Positionsargumenten in der Parameterliste befinden. 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
Awesome!
Completion rate improved to 5
Positions- und Standardargumente
Swipe um das Menü anzuzeigen
Positionsargumente sind eine Methode, Werte an eine Funktion in einer bestimmten Reihenfolge entsprechend der Funktionssignatur zu übergeben.
Sie werden als "Positionsargumente" bezeichnet, da die Werte den Parametern entsprechend ihrer Position in der Parameterliste der Funktionssignatur zugeordnet werden. Die Position jedes Arguments bestimmt, welchem Parameter es entspricht.
main.cpp
123456789101112131415161718192021#include <iostream> // Function that takes two positional arguments float divide(float a, float b) { if (b == 0) { std::cout << "Error: Division by zero is not allowed" << std::endl; 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 << "The result is: " << result << std::endl; }
Sie können ein kleines Experiment durchführen: Ändern Sie die Reihenfolge der Übergabe von Argumenten an die Funktion (verwenden Sie divide (y, x) anstelle von divide(x, y)), und Sie werden feststellen, dass sich das Ergebnis geändert hat. Genau das ist das Wesen von Positionsargumenten: Die Reihenfolge der Übergabe von Parametern an die Funktion ist wichtig und beeinflusst das Ergebnis direkt.
Standardargumente
Standardargumente in C++ ermöglichen es, Standardwerte für Funktionsparameter anzugeben. Wenn Sie Standardwerte für Parameter in einer Funktionsdeklaration angeben, bedeutet dies, dass der Standardwert verwendet wird, falls beim Funktionsaufruf kein explizites Argument für diesen Parameter übergeben wird. Sie können einen Standardwert angeben, indem Sie das erforderliche Argument einfach mit einem Wert in der Funktionssignatur instanziieren.
Betrachten wir ein Beispiel basierend auf unserer divide()-Funktion:
main.cpp
123456789101112131415161718192021#include <iostream> // Added the third default argument with specified value float divide(float a, float b, bool divideByZero = false) { if (b == 0 && !divideByZero) { std::cerr << "Error: Division by zero is not allowed." << std::endl; return 0; } else if (b == 0 && divideByZero) return a / 0.0000001; else return a / b; } int main() { float result1 = divide(51, 0.0, true); // Division by zero allowed std::cout << "Allowed: " << result1 << std::endl; float result2 = divide(7.0, 0.0); // Default behavior (Error message) std::cout << "Default: " << result2 << std::endl; }
Wir sehen, dass das Argument divideByZero einen angegebenen Standardwert false hat und beim Funktionsaufruf ignoriert werden kann. Möchten wir jedoch einen Fehler vermeiden und die Berechnung fortsetzen, können wir am Ende der Parameterliste divideByZero=true setzen.
Hinweis
Es ist wichtig, dass sich alle Standardargumente nach den Positionsargumenten in der Parameterliste befinden. Andernfalls gibt der Compiler einen Fehler aus.
Danke für Ihr Feedback!