Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include <iostream> using namespace std; //Strukturen struct sSpieler { int Energie; int Punkte; int Team; }; //Prototypen void BerechnePunkte(sSpieler *pSpieler, int Bonus); void ZeigeSpieler(sSpieler *pSpieler); void LadeLevel(const int Level); int main () { //Instanzen sSpieler Spieler1; //Variablen int Bonus = 300; const int Level = 1; //Spieler Werte initialisieren Spieler1.Energie = 100; Spieler1.Punkte = 0; Spieler1.Team = 2; //Funktionen aufrufen LadeLevel(Level); ZeigeSpieler(&Spieler1); BerechnePunkte(&Spieler1, Bonus); ZeigeSpieler(&Spieler1); return 0; } //Punkte berechnen void BerechnePunkte(sSpieler *pSpieler, int Bonus) { pSpieler->Punkte += Bonus; } //Spielerdaten zeigen void ZeigeSpieler(sSpieler *pSpieler) { cout <<"Werte des Spielers:"<<endl; cout <<"Energie: "<<pSpieler->Energie<<endl; cout <<"Punkte: "<<pSpieler->Punkte<<endl; cout <<"Team: "<<pSpieler->Team<<"\n\n"<<endl; } //Level laden void LadeLevel(const int Level) { cout <<"Level "<<Level<<" geladen.\n"<<endl; } |
Zitat von »"AriesT"«
Erstmal danke, dass Du dir Zeit genommen hast, mir zu antworten. Ich bin auch glaube ich etwas weitergekommen.
Also, wenn ich es jetzt richtig verstanden habe, knapp zusammengefasst lässt sich sagen:
----
Zeiger als Parameter -> Ein Wert soll verändert werden
Referenz als Parameter -> Der Wert soll NICHT verändert werden.
Aber Wert als Parameter -> ???
----
Wozu soll ich noch normale Werte übergeben, wenn ich unveränderte Werte auch per Referenz aufrufen kann? Z.B. im Listing 6.9.
Da kann ich "Bonus = 550;" schreiben, per Referenz aufrufen und komme aufs gleiche hinaus.
Verstehe nicht, was Heiko damit sagen möchte bzw. warum er hier einen Wert übergibt anstelle einer Referenz.
Das zweite "HÄ?" tritt bei mir allerdings auch bei den Referenzen auf. Zumindest was die Anwendung in der Realität angeht.
Was bringen mir Referenzen in der Praxis? Es wäre mit aktuellem Wissensstand "nur" sinnvoll eine Referenz der Funktion zu übergeben, wenn man irgendeine Gruppe von Werten cout<< machen möchte. Für etwas anderes sehe ich z.Z. keine Verwendung.
Das verwirrt mich noch etwas.
Zitat
Struktur / Klasse
{
int bla;
float blubb;
char Döng[100.000];
}
Werbeanzeige