Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Positions- und Standardargumente | Funktionsargumente Spezifikation
C++ Funktionen

bookPositions- 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

main.cpp

copy
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

main.cpp

copy
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.

question mark

Was ist das Ergebnis der Ausführung des folgenden Codes

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 5

bookPositions- 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

main.cpp

copy
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

main.cpp

copy
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.

question mark

Was ist das Ergebnis der Ausführung des folgenden Codes

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 1
some-alt