Pointer
Pointer werden benötigt, um z.B. auf Daten schneller zuzugreifen, oder um Methodenaufrufe mit Arrays zu realisieren. Heap vs Stack
Im Stack werden die Informationen nur im Arbeitsspeicher gespeichert. Dies führt zwar zu einer schnelleren übermittlung der Daten, hat aber den Nachteil das das das Datenvolumen stark begrenzt ist. Dem ggü. kann im Heap eine größere Datenmenge gespeichert werden. |
C-String/C++-String
Strings gab es in C noch nicht. Stattdessen können Strings auch als Arrays interpretiert werden. Als Array von Buchstaben. Das Problem ist allerdings wir können das Array nicht einer Funktion übergeben. -> Pointer und Länge des Array wird benötigt. Lösung -> Am Ende des Strings wird ein \0 ausgegeben. Man benötigt dann nur noch den Pointer, da \0 die Abbruchbedingung darstellt. In C++ wurde dann der "richtige" String eingeführt: -> std::string a = "ABC" Pointer vs Referenz
Pointer und Referenz können beide genutzt werden um eine Funktion zu übergeben, ohne das eine Kopie erstellt wird. Beide werden intern als Speicheradresse repräsentiert (bei Ponter vorgegeben, bei Referenzen sinnvoll). Pointer werden für C-Array benötigt. Können mit einen +1 (a = a + 1) auf dem nächsten Eintrag zugreifen. (Großes Problem) Referenzen stellen weniger Fkten als ein Pointer zur Verfügung. Repräsentiert aber direkt ein ganzes Objekt. (Sehr komfortabel) |
Cheatography
https://cheatography.com
C++ Cheat Sheet (DRAFT) by ReneD
This is a draft cheat sheet. It is a work in progress and is not finished yet.