Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C++ Grundkurs

Typqualifizierer const

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
C++ verfügt über einen speziellen Typqualifizierer, um Variablen, Funktionsparameter sowie Instanzvariablen als unveränderlich auszuzeichnen.
03:30

Transkript

In dieser Lektion stelle ich Ihnen den Qualifier const vor. Der Qualifier const ist dazu da, Variablen, Funktionsparameter oder auch Attribute einer Instanz als konstant zu deklarieren. Als konstant deklarierte Variablen, Funktionsparameter und Attribute müssen einmal initialisiert werden. Methoden können aber auch const sein. D. h., die Methode, die als const deklariert ist, kann nur von einer konstanten Instanz einer Klasse aufgerufen werden. Ein bisschen tricky wird die ganze Geschichte rund um Zeiger, denn hier kann sowohl der Zeiger als auch das, auf das verweist - das Datum -, als const deklariert werden. Hier habe ich ein Beispiel: Ich habe hier eine int-Variable i mit dem Wert 100 und eine integer-Variable j mit dem Wert 200, und hier erkläre ich einen Pointer p, indem ich den auf die Adresse von i verweisen lasse. Und der Pointer p hat einen etwas anspruchsvollen Typ. p ist ein konstanter Zeiger, der auf ein int verweist, das konstant ist. D. h., da der Wert, auf den der Zeiger verweist, konstant ist, kann ich ihn nicht ändern. Es gibt also hier einen Fehler. Da der Zeiger selbst aber auch konstant ist, kann ich natürlich auch nicht auf eine andere Adresse verbiegen. Das gibt also auch einen Fehler. Wenn Sie sich so einen Ausdruck anschauen, der wirklich ein bisschen gewöhnungsbedürftig ist. Ich habe mir eigentlich angewöhnt, so einen Ausdruck von rechts nach links zu lesen - und genau das zeige ich Ihnen. Hier habe ich den Ausdruck nochmals. Diesmal aber in Farbe. Wie ich den lese, ist von rechts nach links. Also p ist ein konstanter Zeiger, der auf ein int verweist, das konstant ist. Das Spielchen mache ich mit Ihnen auch schnell nochmal auf der Kommandozeile. Hier mein kleines Beispielprogramm. Wieder die gleichen Werte, int hat Wert i, j hat den Wert 200. p1 ist ein Zeiger, und ich will den Zeiger mit der Adresse von i initialisieren. p1 ist ein Zeiger, wenn man es genau nimmt, ist ein Zeiger auf ein int, das const ist. Also noch einmal, Zeiger auf ein int, das const ist. Das Wesentliche ist, dass int ist const. D. h., ich kann hier keinen neuen Wert zuweisen, weil der zugrundeliegende Wert const ist. Der Zeiger selber ist aber nicht const, daher kann ich den Zeiger auf eine andere Adresse verbiegen. Das Spielchen anders herum. Noch einmal int i, um die Adresse von i zu erhalten. Diesmal ist p2 ein konstanter Zeiger auf int. D. h., der Zeiger ist konstant. Damit kann ich den zugrundeliegenden Wert diesmal verändern. Aber da der Zeiger konstant ist, kann ich den Zeiger selbst nicht verbiegen. Jetzt der Ausdruck in voller Schönheit. p3 ist ein konstanter Zeiger auf int, das const ist. D. h., ich kann weder den Wert verändern, da der Wert hier const ist, noch kann ich den Zeiger verändern, da mein Zeiger hier const ist. Das Ganze will ich ihnen jetzt nochmals zeigen, indem ich das Programm einfach ausführe. Sie sehen, es kommt genau diese Fehlermeldung, die ich hier angedeutet habe, und relativ schön vom Compiler erläutert. assignment of read-only location. Ich habe es const gemacht. Assignment of read-only variable. Sie sehen, hier kommt immer die Fehlermeldung read-only. Also ich versuche, etwas zu verändern, was ich nicht verändern darf, weil ich es nur lesen darf. In dieser Lektion habe ich Ihnen den const-Qualifier vorgestellt und insbesondere gezeigt, dass als const deklarierte Variablen und Instanzen einer Klasse einmalig initialisiert werden müssen. Ich habe Ihnen auch gezeigt, dass die constness bei Zeigern relativ kompliziert sein kann, weil sie zwischen der Const-heit des Zeigers und des Wertes, auf den der Zeiger verweist, unterscheiden müssen.

C++ Grundkurs

Steigen Sie in die mächtige Programmiersprache C++ ein und lernen Sie dabei alle wichtigen Funktionen mit Anwendungsbeispielen kennen.

8 Std. 14 min (147 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

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!