Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++

Parameterübergabe (Call by value, Call by reference)

Testen Sie unsere 2017 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Wenn Sie möchten, dass eine aufgerufene Funktion einen übergebenen Wert tatsächlich verändern darf, benötigen Sie Aufrufe vom Typ "Call by Reference". Sehen Sie dem Trainer bei diesem Vorhaben über die Schulter.

Transkript

Nun, mit Pointern kann man sehr schöne Sachen machen, insbesondere bei Funktionen und Parameterübergaben. Und da möchte ich Ihnen jetzt zeigen, wie man da Pointer übergeben kann und auch wie man Referenzen übergeben kann. Jetzt fangen wir erst mal mit normalem Beispiel an. Ich habe hier mal lfoo definiert, eine Funktion, die nichts zurück, aber setzt innen den Wert t1 auf 5, t1 ist der Parameter, den übergebe ich jetzt hier. Da habe ich die Integer-Variable auf 0 gesetzt, und wir schauen mal an, was dabei herauskommt. Das ist jetzt eigentlich kein Geheimnis, soweit waren wir schon, aber die Funktion, es müsste klar sein, was rauskommt, nämlich 0, weil ich hier nur die lokale Variable, ich wähle automatisch lokal, verändern kann, und damit natürlich nichts am Ergebnis ändert. Das wird sich gleich ändern, wenn wir jetzt hier mal einen Referenzparameter hinsetzen mit dem Und-Zeichen. Und ich starte es jetzt gleich mal nochmal, wir schauen, was jetzt passiert. Ich habe gar nichts im Code geändert. Jetzt kommt in der Tat 5 raus. Es gibt noch eine andere Möglichkeit, es aufzurufen. Da muss ich es aber hier kopieren, um Ihnen die Schönheit zu zeigen. Wenn ich hier nämlich ein Sternchen schreibe, dann übergebe ich eine Adresse als Parameter. Dazu muss ich aber hier innen denn auch entsprechen ein Stern schreiben, und da werden wir den Unterschied hier sehen, schreibe ich hier jetzt einfach, na lfoo darf ich es natürlich nicht nennen, von mir aus pfoo wie "Pointerfoo", und hier Ihr Einsatzparameter geht auch nicht. Da muss ich nämlich jetzt hier die Adresse übergeben. Das ist hier elegant bei diesem Und-Zeichen, wenn man eine Referenz hat, kann man innen arbeiten, wie mit den normalen Variablen. In Wirklichkeit wird aber die Adresse der Variable, die man als Parameter übergibt, an das Unterprogramm übergeben und dort entsprechende richtig gerechnet. Das ist eigentlich der klassische Weg, mit dem Sternchen bei C schon gehabt. Da muss ich eine Adresse von Hand übergeben mit dem Und-Zeichen und dann mit Stern als Pointer, ich habe hier einen Pointer arbeiten und entsprechend den Wert verändern. So, jetzt kann man hier starten und den Debug machen. Schauen wir, was passiert. Es kommt 7 raus. Ich kann jetzt auch hier, damit Ihnen zeigen kann, dass beide auch in der Kombinationen geht, mal ein + gleich machen, jetzt addiert dann den Wert, den er oben verändert hat, nämlich die 5+7 gibt dann 12, hier oben setze ich hier auf 5, und hier addiere ich einen 7 drauf mit dieser Operation und gebe den Wert aus. So, beides hat so seine Vor- und Nachteile. Das ist eleganter hier Ihnen zu programmieren, aber relativ unsichtbar an dieser Stelle, das heißt, man weißt hier im Hauptprogramm nicht so wirklich, ob die Variable verändert wird oder nicht allein am Bild von diesem Aufruf während hier schon klar ist, dass da irgendwas mit der Adresse passiert, also eventuell die Variable im Hauptprogramm oder in dem entsprechenden Unterprogramm was auch wieder ein Unterprogramm hier aufrufen kann, entsprechend verändert wird. Also da müssen wir ein bisschen aufpassen. Das ist halt bei Pointern so eine Geschichte, hier unten richtig zu arbeiten, dass man da keine Fehler macht, keine Arithmetik-Größe verwendet. Und hier hat man nämlich keine große Gefahrenquelle, wenn man hier mit normalen Variablen im Prinzip wie mit der gewöhnten Schreibweise arbeiten kann.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!