1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

suchen in std::map

  • grassi3000
  • 29. März 2006 um 23:09
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • grassi3000
    Punkte
    311
    Beiträge
    54
    • 29. März 2006 um 23:09
    • #1

    hi

    ich hab grad folgenden code vor mir:

    Code
    std::string token;
    std::map<std::string, SDL_Image> irgendwas;
    std::map<std::string, SDL_Image>::iterator iter = irgendwas.find(token);
    
    
    if(iter != irgendwas.end()) { ...}

    Dieser Code sollte ja den code im if statement nur ausführen, wenn etwas mit dem schlüssel "token" bereits in der map ist, oder? Bei mir (GCC 4) scheint das nicht zu gehn. hab ich hier irgend einen logischen fehler?

  • Ubik
    Punkte
    205
    Beiträge
    39
    • 30. März 2006 um 13:45
    • #2

    Sollte eigentlich so klappen. Kommt immer (iter == irgendwas.end()) raus, oder wo liegt das Fehlverhalten?

  • grassi3000
    Punkte
    311
    Beiträge
    54
    • 30. März 2006 um 13:53
    • #3

    ja, die map ist noch nicht gefüllt, und trotzdem meint er bei der ersten abfrage, dass schon was drin ist ...
    muss ich die map irgendwie anfangs initialisieren? (bei vectoren reicht immer die deklaration im header file)

  • Ubik
    Punkte
    205
    Beiträge
    39
    • 30. März 2006 um 14:51
    • #4

    Naja, wenn nichts drin is, kann er auch nichts finden, deshalb wird immer iter == irgendwas.end() sein ...

  • grassi3000
    Punkte
    311
    Beiträge
    54
    • 30. März 2006 um 15:27
    • #5

    ja, aber wenn nichts drin, sollte ja ein

    Code
    if (iter != irgendwas.end()) {
     SDL_Image mit namen token vorhanden
    } else {
    lade neues SDL_Image mit namem token
    }


    ja in den if zweig hüpfen ... oder?

    Edit: irgendwie gehts jetzt. hab nichts besonderes gemacht. anscheinend war nur ein logischer fehler vorhanden. thx

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum