Frage zu std::vector



  • Hätte da 'ne frage zu std::vector .. z.Z hab ich 'n std::vector<DWORD> und muss in einer funktion die möglichkeit haben alle DWORD's die sich in dem vector befinden zu benutzen, hab was probiert aber so kann ich nur den ersten DWORD immer benutzen.

    for(i=0;i<Benutz.size();i++)
    		    {
    			   if(Benutz[i] == -1)
    			   {
    				   break;
    			   }
    
                           // Mach was mit Benutz[i]
                            break;
                       }
    

    Wie könnt ich sowas anstellen das ich alle DWORD's aus dem vector benutzen kann? Oder irgendwie vom ersten DWORD zum 2ten springen kann oder sowas in der Art.

    Grüße und Danke.



  • Na is ja auch klar wieso...wenn du nach dem ersten Durchlauf mit nem break rausspringst...

    for(i=0;i<Benutz.size();i++){
          if(Benutz[i] == -1){
                continue;
          }
          // Mach was mit Benutz[i]                   
    }
    

    Außerdem was bringt es dir die Schleife abzubrechen wenn -1 in dem Eintrag steht?
    Alle folgenden Einträge werden dann übergangen...was du willst ist continue 😉
    und nicht break. continue überspringt den Rest dieses Durchlaufs und geht direkt zum Nächsten
    Und break in ner for schleife....naja würd ich anders lösen

    BTW: Du bräuchtest nicht einmal continue wenn du es so löst:

    for(i=0;i<Benutz.size();i++){
          if(Benutz[i] != -1){
                // Mach was mit Benutz[i]   
          }
    
    }
    


  • Hier sei mal noch auf std::vector<T>::iterator hingewiesen. Der ist dafür gedacht, wenn du etwas durchlaufen willst.

    @Kuldren
    Gibts für dein TowerWars auch ne Seite/etwas zu laden? Will das mal von der Nähe sehen. 🙂



  • drakon schrieb:

    Hier sei mal noch auf std::vector<T>::iterator hingewiesen. Der ist dafür gedacht, wenn du etwas durchlaufen willst.

    @Kuldren
    Gibts für dein TowerWars auch ne Seite/etwas zu laden? Will das mal von der Nähe sehen. 🙂

    Im Moment noch nicht. Kommt aber noch. Je nachdem wieviel Zeit ich habe. (Wahrscheinlich nach Weihnachten)


Anmelden zum Antworten