Recht nettes C++ Tutorial.
-
-
Ich rate davon ab, nur ein Beispiel:
2.1 Pointer
Pointer dienen vor allem zum Aufbau dynamischer Datenstrukturen. Der Typ 'Pointer auf T' wird in C++ durch T* bezeichnet, z.B. int*. Pointer werden durch den Präfix-Operator * dereferenziert. Der dazu inverse Operator & liefert die Adresse einer Variablen.char c1 = 'a';
char* p = &c1 ; // p enthält die Adresse von c1
char c2 = *p ; // c2 = aWährend der Speicherplatz für statische Variablen automatisch bei der Deklaration reserviert und beim Verlassen des Blockes, in dem sie deklariert sind, wieder freigegeben wird, muß der durch Pointer referenzierte Speicherplatz mit dem Operator new explizit angefordert und mit delete wieder freigegeben werden.
int* p = new int ;
*p = 2 ;
delete p ;Falls nicht mehr genug Speicher für new vorhanden ist, gibt es keine Fehlermeldung, sondern new liefert den Pointer 0 zurück!
Abgesehen davon, dass die Speicherklassen statisch und automatisch durcheinandergeworfen wurden, und dass der letzte Satz veraltet bzw. falsch ist, ist die Einführung von Zeigern viel zu früh, zu knapp, und irreführend: es wird der Eindruck vermittelt, als könnten Zeiger nur auf mit new allozierte Blöcke zeigen. Als Tutorial geht das auf keinen Fall durch.
-
Bashar schrieb:
Ich rate davon ab, nur ein Beispiel:
2.1 Pointer
Pointer dienen vor allem zum Aufbau dynamischer Datenstrukturen. Der Typ 'Pointer auf T' wird in C++ durch T* bezeichnet, z.B. int*. Pointer werden durch den Präfix-Operator * dereferenziert. Der dazu inverse Operator & liefert die Adresse einer Variablen.char c1 = 'a';
char* p = &c1 ; // p enthält die Adresse von c1
char c2 = *p ; // c2 = aWährend der Speicherplatz für statische Variablen automatisch bei der Deklaration reserviert und beim Verlassen des Blockes, in dem sie deklariert sind, wieder freigegeben wird, muß der durch Pointer referenzierte Speicherplatz mit dem Operator new explizit angefordert und mit delete wieder freigegeben werden.
int* p = new int ;
*p = 2 ;
delete p ;Falls nicht mehr genug Speicher für new vorhanden ist, gibt es keine Fehlermeldung, sondern new liefert den Pointer 0 zurück!
Abgesehen davon, dass die Speicherklassen statisch und automatisch durcheinandergeworfen wurden, und dass der letzte Satz veraltet bzw. falsch ist, ist die Einführung von Zeigern viel zu früh, zu knapp, und irreführend: es wird der Eindruck vermittelt, als könnten Zeiger nur auf mit new allozierte Blöcke zeigen. Als Tutorial geht das auf keinen Fall durch.
*grml*
Das ist das was mich an Tutorials immer so ankotzt.
Gerade für Anfänger die das dann so lernen, obwohl das falsch istKennt denn jemand ein paar GUTE Tutorials???
-
Guck mal hier:
http://www.c-plusplus.net/c___1.htmCode-Hacker
-
Besucher schrieb:
http://www.inf.fu-berlin.de/lehre/kurse/cplusplus/Skript.book.html
wenn man sich das genau ansieht ist es garkein Tutorial sondern eher eine kleine Referenz. Die Themen werden nur angeschniten und nicht erklärt.
-
-
Bashar schrieb:
Abgesehen davon, dass die Speicherklassen statisch und automatisch durcheinandergeworfen wurden...
"statisch" wurde hier im sinne von nicht-dynamisch nebst "dynamisch==auf dem heap" gemeint.
(wort "freispeicher" ignoriert, da es nicht in die zeit paßt.)
-
Das ist mir klar, trotzdem ist es irreführend. Jemand der das nicht weiß, wird das in die falsche Kehle bekommen und später auf Widersprüche stoßen, die er selbst entknoten muss. Mag sein, dass dieses Script von irgendeinem Standpunkt aus seine Berechtigung hat, aber definitiv nicht als Tutorial.
-
Warum müssen Uniseiten immer so erbärmlich hässlich sein, habt ihr Angst vor Farben und css?
-
das ist geschmackssache.
mir erscheint dieses skript jedoch als eben dieses: ein skript... kurz und bündig, zum weiterlernen zusammengefasst, ohne erklärung.
als ob jemand in einer vorlesung die wichtigsten punkte zum erinnern aufgeschrieben hat, oder der lehrbeauftragte diese zusammengekürzt ausgibt.
eben ein skript. ein kurzes. kein tutorial. hat wohl auch nicht den anspruch.
zu kurz jedenfalls, um es ohne vorlesung oder buch zu verstehen, und mit buch würde es dann auch nicht mehr wichtig sein.
vielleicht in der art auch vergleichbar mit den aufzeichnungen eines lehrers.. wenn er frei redend in den unterricht geht, daß er die wichtigen punkte nicht vergisst, den rest redet er drum rum.