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

1

07.02.2012, 17:41

C++ 2D Vector?

Hallo liebe Community!
Da ich nun bei der Entwicklung einer kleinen IsoTileEngine bin möchte ich euch fragen, ob es 2D Vektoren gibt, quasi dass man sie so benutzen kann wie Arrays.
also z.B.
map[x][y]
Ich habe es schon so versucht:

C-/C++-Quelltext

1
std::vector<std::vector<CTile> > m_vecMap;

Aber nun stellt sich mir die Frage, wie schiebe ich dort die Vektoren rein, und wie greife ich anschließend auf sie zu`?
Danke im voraus!
lg. denniro
Only God can judge me.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

2

07.02.2012, 17:44

Nein es gibt keine 2D vectoren. Schreib dir selbst einen, bzw. kapsel das einfach in einer Map Klasse ;)

3

07.02.2012, 17:50

Nein es gibt keine 2D vectoren. Schreib dir selbst einen, bzw. kapsel das einfach in einer Map Klasse ;)

Aso okey, weil ich mal gesehen habe, dass einer einen Vektor in der Art eines mehrdimensionalen Arrays herausgegeben hat.
lg denniro
Only God can judge me.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

4

07.02.2012, 18:04

Du kannst wie oben einen vector aus vectoren machen. Das entspricht dann aber nicht wirklich einem 2D array, sondern einem jagged array.
Besser (auch was die Performance betrifft) ist es, einfach einen M*N großen Vector zu machen und die 2D Indices dann in entsprechende 1D Indices umzurechnen (z.B. indem man in dem 1D vector einfach alles zeilenweise nacheinander abspeichert).

Werbeanzeige