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

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

11

19.12.2007, 17:50

Zitat

Deviloper's Code ist sogar exakt der Gleiche wie der Deinige!

das stimmt nicht ganz ;).
das eine ist eine copy intialization und das andre eine direkte...

wobei ich persönlich die Variante von Nox bevorzugen würde. jeder halbwegs normale compiler sollte afaik in beiden fällen den selben code erzeugen...

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

12

19.12.2007, 18:06

Zitat von »"dot"«

Zitat

Deviloper's Code ist sogar exakt der Gleiche wie der Deinige!

das stimmt nicht ganz ;).
das eine ist eine copy intialization und das andre eine direkte...

wobei ich persönlich die Variante von Nox bevorzugen würde. jeder halbwegs normale compiler sollte afaik in beiden fällen den selben code erzeugen...


Beides ist eine Copy-Initialisierung. Ist vom Standard so festgelegt.
@D13_Dreinig

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

13

19.12.2007, 18:30

naja, es is schon nen Unterschied (bei Nox darf der Ctor nicht explicit sein und wenn es keinen Unterschied gäbe müsste jeder Ctor entweder beide Varianten oder keine annehmen!)

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

14

19.12.2007, 19:13

Zitat von »"David_pb"«

Beides ist eine Copy-Initialisierung. Ist vom Standard so festgelegt.


stimmt, sry...ich hab den standard falsch interpretiert^^

CodingCat

1x Contest-Sieger

Beiträge: 420

Beruf: Student (KIT)

  • Private Nachricht senden

15

20.12.2007, 14:26

Re: Mh

Zitat von »"NicoWe"«

Nj, ok aber was ist wenn die oben beschriebene Methode trozdem funzt? ist nicht so kompliziert wie mit nem reverse Iterator. Man darf nur keine leere Liste bekommen. Ich nehme aber die normalen reverse Iteratoren, die werden schon Vorteile haben :D

Danke vielmals


Der Code von oben funzt NICHT. Wie dein Beispielcode übrigens seltsamerweise bereits selbst sagt:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
list<string> lst; 
// fill lst with data... 

list<string>::iterator it; 
for (it = lst.end(), it--;    // Init on last 

   it != lst.begin(); --it)   // element 

{
      cout << *it << endl; // Uh-oh, skipped first element! <-- HIER

}


Dein Beispielcode kann zwar nun alle Iteratoren problemlos dereferenzieren, da er zunächst den End-Iterator dekrementiert. Allerdings wird der erste Gegner garantiert ausgelassen, denn bei it = lst.begin() = 1. Gegner unterbricht deine Schleife, bevor der Gegner behandelt wurde.

NicoWe

Treue Seele

  • »NicoWe« ist der Autor dieses Themas

Beiträge: 126

Wohnort: Bielefeld / NRW

  • Private Nachricht senden

16

23.12.2007, 13:05

Ok

Ok, stimmt. Ich werde reverse iteratoren Nutzen. @all Posts: Danke für die schnelle Hilfe! :D
Erfolg ist die Fähigkeit, von einem Misserfolg zum anderen zu gehen,
ohne seine Begeisterung zu verlieren.
-Winston Churchill-

Werbeanzeige