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

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

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

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 → gibt 0 zurück
  • terminate = 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.

Note
Hinweis

Es ist wichtig, dass alle Standardargumente nach den Positionsargumenten in der Parameterliste stehen. Andernfalls gibt der Compiler einen Fehler aus.

question mark

Welche Funktionsdeklaration verwendet Positions- und Standardargumente korrekt?

Wählen Sie die richtige Antwort aus

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

Abschnitt 2. Kapitel 1
some-alt