Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

5.8 Konstante Funktionsparameter

5.8 Konstante Funktionsparameter

Gerade bei erfahrenen Programmierern sieht man, dass oft das Schlüsselwort "const" bei der Deklaration der Argumente von Funktionen benutzt wird. Dies hat zur Folge, dass die Werte der Parameter nicht innerhalb der Funktion geändert werden können. Dies macht man aber nicht um sich selber einzuschränken, sondern um den Programmierer, welcher diese Funktion aufruft zu gewährleisten bzw. im zu versichern, dass genau mit diesen Werten gearbeitet wird. Hier mal ein Beispiels.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
					
// Addiert zwei Zahlen miteinander und gibt Ergebnis zurück ///////////////////
int Addieren(const int iSummand1, const int iSummand2) {
	return iSummand1 + iSummand2;
} // Addieren ///////////////////////////////////////////////////////////////////

// ...

int iZahl1	= 10;
int iZahl2	= 20;
int iErgebnis	= Addiere(iZahl1, iZahl2);
					

In erster Linie macht man dies nur für einen besseren Programmierstil. Keiner ist gezwungen sich darüber Gedanken machen zu müssen, ob man die Argumente tatsächlich konstant halten will oder nicht. Allerdings macht man sich dann doch mehr Gedanken, wenn man Referenzen übergibt und vor allem dann, wenn man Schnittstellen baut.

Intern hat diese Vorgehensweise auch Auswirkungen. Beispielsweise werden diese Funktionsargumente nicht auf dem Stack angelegt, wie vorhin beschrieben. Sie werden in dem Teil des Programmspeichers abgelegt, welcher speziell für Konstanten gedacht ist. Das hat dann zur Folge, dass man bei einem Funktionsaufruf weniger zusätzlichen Speicher im Stack benötigt.

Der erfahrene Programmierer verwendet also diese Art des Funktionsaufrufes wo immer er kann, aber für den Anfang sollten Sie Sich lieber davon distanzieren, da diese Schreibweise zu Beginn eher umständlich ist und noch andere Nebeneffekte hat, welche man bedenken muss bzw. welche gravierende Auswirkungen auf den Quelltext haben können. Deshalb werde ich auch auf diese Schreibweise, zu Gunsten der Verständlichkeit, verzichten.

Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012