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

11

14.05.2010, 17:11

Dann gehe von dem Punkt aus rückwärts und schaue, wann das Objekt instanziert werden sollte.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

12

14.05.2010, 17:55

Oder man verwendet erst gar keine Zeiger und nutzt nur Stack-Objekte (sofern diese nicht zu groß sind)...

mfg CBenni::O


Das ergibt aber auch keinen Sinn, wenn du das Objekt über verschiedene Scopes hinweg verwenden musst, bspw. wenn du es einer Funktion übergeben musst. Da ist ein Zeiger bei Weitem günstiger, als das Objekt "in die Funktion zu kopieren".


warum ergibt das keinen sinn? mit dem adressoperator-& bekommst du die adresse des objekts, auch wenn es aufn stack liegt.
"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?

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

13

14.05.2010, 18:02

Oder man verwendet erst gar keine Zeiger und nutzt nur Stack-Objekte (sofern diese nicht zu groß sind)...

mfg CBenni::O


Das ergibt aber auch keinen Sinn, wenn du das Objekt über verschiedene Scopes hinweg verwenden musst, bspw. wenn du es einer Funktion übergeben musst. Da ist ein Zeiger bei Weitem günstiger, als das Objekt "in die Funktion zu kopieren".


warum ergibt das keinen sinn? mit dem adressoperator-& bekommst du die adresse des objekts, auch wenn es aufn stack liegt.

Und wenn das Objekt gelöscht wird, weil man den Scope wieder verlässt?

Der Heap hat imho nur Vorteile, allerdings macht es natürlich nicht IMMER Sinn. ;)
WIP Website: kevinheese.de

TSS

Frischling

  • Private Nachricht senden

14

14.05.2010, 18:09

Oder man verwendet erst gar keine Zeiger und nutzt nur Stack-Objekte (sofern diese nicht zu groß sind)...

mfg CBenni::O


Das ergibt aber auch keinen Sinn, wenn du das Objekt über verschiedene Scopes hinweg verwenden musst, bspw. wenn du es einer Funktion übergeben musst. Da ist ein Zeiger bei Weitem günstiger, als das Objekt "in die Funktion zu kopieren".


warum ergibt das keinen sinn? mit dem adressoperator-& bekommst du die adresse des objekts, auch wenn es aufn stack liegt.

Und wenn das Objekt gelöscht wird, weil man den Scope wieder verlässt?

Der Heap hat imho nur Vorteile, allerdings macht es natürlich nicht IMMER Sinn. ;)
Naja, scheint in dem Beispiel ne Klassenvariable zu sein, also ist das mit dem Scope kein Problem.

NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

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

  • Private Nachricht senden

15

14.05.2010, 18:10

man löscht das objekt dort wo es erstellt wird. wenn das nicht möglich ist sollte man dann sharedpointer benutzen.

achja bei der übergabe von objekten sollte man sowieso referenzen nutzen.
"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?

CBenni::O

1x Contest-Sieger

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

16

14.05.2010, 18:45

Der Heap hat imho nur Vorteile,

Nein. Der stack ist wesentlich schneller und leichter erreichbar!

allerdings macht es natürlich nicht IMMER Sinn. ;)

Joa... wer schreibt schon

C-/C++-Quelltext

1
int* pPoints = new int(3);
;)
mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

17

14.05.2010, 18:53

Der Heap hat imho nur Vorteile,

Nein. Der stack ist wesentlich schneller und leichter erreichbar!

Okay okay, FAST nur Vorteile XD.


Zitat


allerdings macht es natürlich nicht IMMER Sinn. ;)

Joa... wer schreibt schon

C-/C++-Quelltext

1
int* pPoints = new int(3);
;)
mfg CBenni::O

Und ja genau das meine ich ^^.


@TE:
Hast du denn jetzt das Problem gefunden ?
WIP Website: kevinheese.de

18

16.05.2010, 19:34

@KeksX

ja Problem gelöst :D

ich hab aus versehen den Zeiger auf CSprite an einer anderen Stelle =NULL gesetzt :thumbdown:

und nochmals Danke für die Hilfe :thumbsup:

Werbeanzeige