Referenzen & Zeiger
-
bin ich damit im richtigen forum?
also, ich lese z.Z. das buch "C++ in 21 Tgen" alles ist ganz gut erklärt und so.
gestern und heute waren die kapitel referenzen und zeiger dran. die verstehe ich net so ganz.
ich frage euch deshalb: "was kann ich (ausser die kapitel 100 mal lesen, bis ich sie verstehe) noch tun, um mein "wissen zu vertiefen"?"
-
Programmieren, andere Programme ansehen, hier die Fragen & Antworten verfolgen.
Bücher lesen ist schön und wichtig, aber Du kommst eben auf viele Dinge nur durch Experimente.
-
Praktische Erfahrung sammeln, überlegen, wozu man Zeiger und Referenzen überhaupt braucht. Sie sind in der Praxis sehr nützlich.
Eine Funktion kann (insgesamt) nur einen Wert zurückgeben, man kann aber Zeiger und Referenzen als Parameter nutzen und die übergebenen Argumente vor Ort manipulieren.
Liberty bringt doch viele Beispiele, was hast du eigentlich?
->
[...]
int main() { int x = 10, y = 5; swap(x,y); return 0; } void swap(int &x, int &y) { int xy; xy = &x; &x = &y; &y = xy; }
[...]
So als Beispiel...
[ Dieser Beitrag wurde am 11.04.2003 um 19:43 Uhr von BodPa editiert. ]
[ Dieser Beitrag wurde am 11.04.2003 um 19:46 Uhr von BodPa editiert. ]
-
ja, ich weiß, dass viele bsp codes in dem buch ind, und gute noch dazu, das buch ist echt gut.
also, werde praktische erfahrungen sammeln
ich weiß, das gehört hier net hin, aber wo ich schonmal da bin:
weiß jemand ein gutes praxis beiospiel zur anwendung von zeigern/referenzen in deer spieleprogrammierung?
-
So darfst Du nicht an die Sache rangehen. Wenn Du Dich für Spiele interessierst (für den Beginn ein _sehr_ hohes Ziel), so solltest Du Dir hier was kleines als Ziel setzen (wie wäre es mit Tic-Tac-Toe). Und realisieren - dabei wirst Du dann selbst auf die Anwendungen von Zeigern und Referenzen stossen. Du mußt dabei eben die Augen offen halten und Dir immer klarmachen, was Du anwendest und tust - dann siehst Du auch die Lehrbeispiele aus dem Buch wieder und kannst diese einsetzen.
-
na klar wllte ich erst was kleines machen
(nee, eigentlich wollte ich metal gear solid 6 coden und dann microsoft kaufen)
naja gut, danke erstmal
-
Wenn du zu einem Kapittel über dynamische Speicherverwaltung kommst, wirst du sehen, wann und wo man Zeiger hauptsächlich einsetzt. Ich denke zwar nicht, das dieses Buch es behandelt, aber irgendwann wirst du auch sehen, das Zeiger im Zusammenhang mit der STL sehr nützlich sein können.
Referenzen verwendet man eigenltich ständig. Man übergibt Objekte meistens by reference, einfach aus geschwindigkeitsgründen, weil ein Kopier-Konstruktor aufruf entfällt (das muss dir jetzt erstmal ichts sagen). Das wirst du aber selber noch sehen.
-
Original erstellt von BodPa:
Eine Funktion kann (insgesamt) nur einen Wert zurückgebennur so als kleine ergänzung:
eine funktion kann unendlich viele werte zurückgeben -> std::pair<>
-
Original erstellt von Shade Of Mine:
nur so als kleine ergänzung:
eine funktion kann unendlich viele werte zurückgeben -> std::pair<>Aber eigentlich ist es ja auch nur ein Rückgabewert
-
Original erstellt von Shade Of Mine:
nur so als kleine ergänzung:
eine funktion kann unendlich viele werte zurückgeben -> std::pair<>Danke für die Info, in C++ in 21 Tagen steht nämlich man könnte nur einen wert zurücgeben...
-
Original erstellt von BodPa:
Danke für die Info, in C++ in 21 Tagen steht nämlich man könnte nur einen wert zurücgeben...Was ja im Prinzip nicht falsch ist. Der eine kann aber mehrere andere enthalten
-
Original erstellt von Shade Of Mine:
nur so als kleine ergänzung:
eine funktion kann unendlich viele werte zurückgeben -> std::pair<>Du hast geschafft ihn zu verwirren
Danke für die Info, in C++ in 21 Tagen steht nämlich man könnte nur einen wert zurücgeben... rolleyes
Vergiss das was die gesagt haben das verwirrt dich nur!
-
Das mal durch lesen: Arrays und Pointer
-
Original erstellt von MaSTaH:
Was ja im Prinzip nicht falsch ist. Der eine kann aber mehrere andere enthaltenJa ne das war mir jetzt auch klar...
Hörte sich nur so an als ob du eine weltbewegende Info hättest, wie man mehrere Werte zurückgibt -> also doch vor Ort manipulieren mit Zeigern und Referenzen.
-
Original erstellt von BodPa:
Ja ne das war mir jetzt auch klar...Achso, hörte sich aber nicht ganz so an
-
Original erstellt von MaSTaH:
Achso, hörte sich aber nicht ganz so anIch glaube wir verstehen uns hier alle ein wenig falsch. Erst die weltbewegende Info, man könnte über eine Funktion mehrere Werte zurückgeben und dann die Info
Was ja im Prinzip nicht falsch ist. Der eine kann aber mehrere andere enthalten
Ich bleibe dabei: Die Adresse einer Variable als Argument an einen Parameter übergeben, der ein Zeiger oder eine Referenz ist und dann vor Ort manipulieren.
Mein Beispiel von oben demonstriert, wann man dieses Verfahren wählen sollte.
Bod Pa