keinen ansporn zum pointer lernen
-
Als manchmal finde ich die weltfremde art zu programmieren einfach nurnoch lächerlich. Die Abstraktion der abstraktion wird gelernt, und wenn mal ein sternchen kommt ist das gleich zu schwer/nutzlos...
-
Pointer brauchst du ziemlich oft. Also lerne sie und lerne sie zu lieben.

Vor allem mit Zeiger/Arrays solltest du rumspielen. Ein wenig Low-Level spielereien sind auch sehr interessant.
-
hmm jow ich versuche sie ja zu lieben ^^
aber.. hätte eher darauf gehofft das man ma nen konkretes beispiel geben könnte wo der einsatz wirklich ohne zeiger undenbar ist.
-
große objekte erzeugt man auf dem heap!
=> new => pointer
-
malon schrieb:
hmm jow ich versuche sie ja zu lieben ^^
aber.. hätte eher darauf gehofft das man ma nen konkretes beispiel geben könnte wo der einsatz wirklich ohne zeiger undenbar ist.
Naja, überall, wo ein "ungültiger Wert" gefragt ist (also da, wo bei Java "null" genommen wird).
struct Auto { Besitzer* ich_gehoere; };Da müsste man schon frickeln (z.B. über ein "ich_gehoere_bitte_ignorieren"-Flag, oder über eine eigene "Verweisklasse") , um den Zustand eines besitzerlosen Autos abzubilden...
Oder um einen Verweis "zu verschieben" - das geht mit C++-Referenzen auch nicht.Die Tatsache, dass es in Java (neben primitiven Typen) sogar NUR Zeiger gibt, sollte ein Hinweis darauf sein, dass es durchaus einen Bedarf für sie gibt.
Gruß,
Simon2.
-
Nimm zum Beispiel Iteratoren. Ein Iterator ist, weil er dazu dient auf Elemente in einem Container zuzugreifen, eine art verallgemeinerter Zeiger.
Mit ihm kann man zum Beispiel eine Liste in einer bestimmten Reihenfolge durchgehen, um auf jedes Element eine bestimmte Operation anzuwenden.
-
Fang einfach vorne beim NULL-Pointer an und dann lernst du die anderen später.
-
Damit man weiss, was ein Nullpointer ist, sollte man zuerst Pointer allgemein lernen.
-
Pointer tutorial:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-124532.html
-
Ist zwar schon ein bisschen alt, aber vielleicht hilft es dir:
http://www.henkessoft.de/C++/C/arrays_pointer.htm
-
heap0r schrieb:
große objekte erzeugt man auf dem heap!
=> new => pointerGeht auch per Referenz...
int &a = *new int[2]; delete[] &a;Oder wenn man eine Klasse hat, welche den Indexoperator [] überladen hat, wäre es zB. in einer Schleife schneller mit Pointern zu arbeiten als per Index (Pointer einfach verschieben anstatt mehrfach operator[] aufzurufen).
MfG
-
Pointer stinken!
-
Nö, pointer sind was supertolles

-
ceplusplus@loggedoff schrieb:
heap0r schrieb:
große objekte erzeugt man auf dem heap!
=> new => pointerGeht auch per Referenz...
nope. du hast einen zeiger da.
-
Wie soll ich das verstehen?
In meinem Beispiel ist 'a' doch eine Referenz
-
ceplusplus@loggedoff schrieb:
Nö, pointer sind was supertolles

Du bist doof!

-
ceplusplus@loggedoff schrieb:
Wie soll ich das verstehen?
In meinem Beispiel ist 'a' doch eine Referenz
wie bist du denn an die referenz gekommen???
in dem du einen pointer dereferenziert hast.wie hast du denn den speicher freigegeben???
in dem du per adressoperator einen pointer aus der referenz gemacht hast.
-
Parfüm schrieb:
Pointer stinken!
Parfüm stinkt!
-
man kann per pointer ein array auf referenzen machen...
int *a; a = int&[10];...
-
Ich glaub nicht dass das geht.
Und wo werden die Referenzen initialisiert?MfG