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

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

16.08.2007, 20:50

Yop!
@D13_Dreinig

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

12

16.08.2007, 20:56

Zitat von »"Faule Socke"«


Neee. Ich habe einen vector der SShipType Objekte enthält.(keine zeiger)


Achso, hatte ich missverstanden. In dem Fall macht es mehr Sinn wenn andere Teile Deines Codes den Index des Schiffes speichern, aber dann darfst Du keine Schiffe am Anfang des Arrays löschen und die anderen "nachschieben".

IMO ist es wirklich besser, ein Array von Zeigern zu haben und jedes Schiff einzeln dynamisch zu erzeugen.
"Games are algorithmic entertainment."

Faule Socke

Community-Fossil

  • »Faule Socke« ist der Autor dieses Themas

Beiträge: 1 915

Wohnort: Schreibtischstuhl

  • Private Nachricht senden

13

16.08.2007, 20:58

wie würde ich denn das mit einem iterator durchlaufen:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct SShipType
{
// ...

char acName[2048];
};

typedef std::vector<SShipType*> ShipTypeVec;
ShipTypeVec Vec;

// einfach was hinzufügen


for(ShipTypeVec::iterator i = Vec.begin(); i != Vec.end(); i++)
{
// Aber wie kann ich jetzt zb. auf den Name des Typs zugreifen?

// Eine idee wäre wie folgt:

(*i)->acName; // Das ginge glaube ich, aber gibt es noch eine andere mehtode?

}


Hab das jetzt einfach mal schnell hingecodet, als ich mir zusätzliche gedanken gemacht habe.

Socke

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

16.08.2007, 21:18

So geht es. Warum willst du eine andere Methode?
Wenn du viel mit dem Objekt machen willst und nicht immer (*it)->... schreiben willst, kannst du dir ja ne Referenz holen:

Ship& ship = *(*it);
ship.blah = blub;

Werbeanzeige