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

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

11

17.01.2010, 18:49

Zitat von »"Jonathan_Klein"«

C++ hat keine nativen String


Doch. std::string gehört zum C++ Standard und sollte C-Strings (char Arrays) in den meisten Fällen bevorzugt werden.

12

26.01.2010, 09:01

Mal ne kurze Frage.

Wenn ich schreibe:

int Level = 1;
int *pLevel;

*pLevel = NULL;

pLevel = &Level;

Müsste dann *pLevel die Adresse oder den Wert ausgeben? Bei mir gibt er den Wert aus und pLevel (ohne *) die Adresse. Ist das richtig?

13

26.01.2010, 13:32

Ist richtig. pLevel enthält eine Adresse, und über den Dereferenzierungsoperator * greifst du auf den Wert an dieser Adresse zurück. Anhand des Datentyps des Zeigers "weiß" das Programm dann, wie es diesen Speicherbereich interpretieren soll.

Man könnte natürlich noch den Code kürzer machen:

C-/C++-Quelltext

1
2
int Level = 1;
int *pLevel = &Level

PPretzel

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

14

26.01.2010, 13:38

C-/C++-Quelltext

1
2
3
int *pLevel;

*pLevel = NULL; 

vorsicht undefiniertes verhalten.
du derefenzierst ein nicht initialisierten zeiger und beschreibst die stelle auf die er zeigt.
wenn du den zeiger erstellst solltest du ihn gleich auf null setzen oder besser noch ihm einen gültigen wert zuweisen.
also:

C-/C++-Quelltext

1
2
3
int *pLevel = NULL;
//oder

int *pLevel = &Level;
"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?

Werbeanzeige