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

bookKonstante Funktionsargumente

In C++ geben konstante Argumente in einer Funktion an, dass die als Parameter übergebenen Werte innerhalb der Funktion nicht verändert werden können. Um das konstante Argument zu deklarieren, muss das Schlüsselwort const vor dem Typspezifizierer des Arguments in der Funktionssignatur verwendet werden:

Im Folgenden wird der Unterschied zwischen der Verwendung von const bei Übergabe durch Wert und bei Übergabe durch Zeiger/Referenz betrachtet.

Übergabe von const-Argumenten als Wert

Wenn ein Parameter als Wert übergeben und als const deklariert wird, bedeutet dies, dass eine Kopie des Wertes erstellt wird und die Funktion diese Kopie nicht verändern kann.
In diesem Fall dient der const-Qualifier als Dokumentation und zeigt anderen Entwicklern an, dass die Funktion den Parameter nicht verändert:

example.h

example.h

copy
1234
double calculateSquare(const double number) { return number * number; }

Der const-Qualifier stellt sicher, dass der Parameter number innerhalb der Funktion calculateSquare() nicht verändert werden kann, und wir können uns auf die Integrität der kopierten Daten verlassen.

Übergabe von const-Argumenten per Zeiger/Referenz

Die Verwendung von Konstanten mit Zeigern oder Referenzen gewährleistet die Bewahrung der Originaldaten, im Gegensatz zur Übergabe von Argumenten per Wert. Während Speicheroptimierung häufig die Übergabe von Parametern über Zeiger oder Referenzen erfordert, ist es entscheidend, die Integrität der Originaldaten innerhalb der Funktion zu wahren.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> // Function definition double calculateArea(const double* radiusPtr, const double& pi) { // Check if the pointer and reference are not null if (*radiusPtr > 0) return pi * (*radiusPtr) * (*radiusPtr); else return 0; // Invalid radius, return 0 } int main() { double radius = 5.0; double pi = 3.14159; double area = calculateArea(&radius, pi); std::cout << "Area of the circle with radius " << radius << " is: " << area << std::endl; }
question mark

Welche der folgenden Funktionssignaturen zeigt eine konstante Referenz auf einen Integer-Parameter an?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

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

Suggested prompts:

Can you show an example of using const with pointers and references?

What are the benefits of using const with pointers or references in C++?

How does const affect function parameters passed by pointer or reference?

Awesome!

Completion rate improved to 5

bookKonstante Funktionsargumente

Swipe um das Menü anzuzeigen

In C++ geben konstante Argumente in einer Funktion an, dass die als Parameter übergebenen Werte innerhalb der Funktion nicht verändert werden können. Um das konstante Argument zu deklarieren, muss das Schlüsselwort const vor dem Typspezifizierer des Arguments in der Funktionssignatur verwendet werden:

Im Folgenden wird der Unterschied zwischen der Verwendung von const bei Übergabe durch Wert und bei Übergabe durch Zeiger/Referenz betrachtet.

Übergabe von const-Argumenten als Wert

Wenn ein Parameter als Wert übergeben und als const deklariert wird, bedeutet dies, dass eine Kopie des Wertes erstellt wird und die Funktion diese Kopie nicht verändern kann.
In diesem Fall dient der const-Qualifier als Dokumentation und zeigt anderen Entwicklern an, dass die Funktion den Parameter nicht verändert:

example.h

example.h

copy
1234
double calculateSquare(const double number) { return number * number; }

Der const-Qualifier stellt sicher, dass der Parameter number innerhalb der Funktion calculateSquare() nicht verändert werden kann, und wir können uns auf die Integrität der kopierten Daten verlassen.

Übergabe von const-Argumenten per Zeiger/Referenz

Die Verwendung von Konstanten mit Zeigern oder Referenzen gewährleistet die Bewahrung der Originaldaten, im Gegensatz zur Übergabe von Argumenten per Wert. Während Speicheroptimierung häufig die Übergabe von Parametern über Zeiger oder Referenzen erfordert, ist es entscheidend, die Integrität der Originaldaten innerhalb der Funktion zu wahren.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> // Function definition double calculateArea(const double* radiusPtr, const double& pi) { // Check if the pointer and reference are not null if (*radiusPtr > 0) return pi * (*radiusPtr) * (*radiusPtr); else return 0; // Invalid radius, return 0 } int main() { double radius = 5.0; double pi = 3.14159; double area = calculateArea(&radius, pi); std::cout << "Area of the circle with radius " << radius << " is: " << area << std::endl; }
question mark

Welche der folgenden Funktionssignaturen zeigt eine konstante Referenz auf einen Integer-Parameter an?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 3
some-alt