Du bist nicht angemeldet.

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

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

1

02.10.2011, 14:03

Frage zu Zeigern: Kann die Adresse in einem Beispiel Programm nicht finden...

Halli Hallo,
Tut mir leid, wenn die Überschrift nicht ganz klar macht worum es geht mir ist nichts besseres eingefallen.
Also ich habe einen Quellcode aus einem buch (ein einfacher Beispielcode für Functors).
Und manchmal sehe ich, wie einer Funktion ein Parameter als Zeiger übergeben wird. Z.B.:

bool operator() (RPGChar* lhs, RPGChar* rhs)

oder

bool operator() (RPGChar *value)

Was bedeutet das * ? Das kenntzeichnet doch normalerweise einen Zeiger, aber ich bin den gesamten
Quellcode durchgegangen, ohne eine Adresse zu finden?!

2

02.10.2011, 14:24

Das bedeutet dass die Funktion 1 bzw. 2 Zeiger als Parameter brauch.

Musst schauen wie die Funktionen aufgerufen werden.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »iWumbo« (02.10.2011, 14:32)


Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

3

02.10.2011, 14:33

Die Funktion

bool operator() (RPGChar* lhs, RPGChar* rhs)
{
// Sortieren nach level, attack, defense und magic
// in dieser Reihenfolge
if (lhs->level < rhs->level)
{
return true;
}
if (lhs->attack < rhs->attack)
{
return true;
}
if (lhs->defense < rhs->defense)
{
if (lhs->magic < rhs->magic)
{
return true;
}
return false;
}
};

Luca

Treue Seele

  • »Luca« ist der Autor dieses Themas

Beiträge: 188

Wohnort: Braunschweig

  • Private Nachricht senden

4

02.10.2011, 14:35

Ja, das die Funktion 2 Parameter benötigt verstehe ich ja, mir geht es um das Sternchen *
Denn dieses sagt ja aus, das es sich um einen Zeiger handelt, der ja EIGENTLICH auf eine Adresse verweißt ( & )
Aber im ganzen Quellcode steh nirgendwo etwas mit einer Adresse.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

5

02.10.2011, 14:36

Wie sieht denn der Aufruf aus?
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

6

02.10.2011, 14:42

Vielleicht ist dem Zeiger ja eine Adresse per new zugewiesen worden, dann braucht man den &-Operator ja gar nicht.

Werbeanzeige