1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

suchen in std::map

  • grassi3000
  • 29. März 2006 um 23:09
  • Unerledigt
  • grassi3000
    6
    grassi3000
    Mitglied
    Reaktionen
    1
    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?

    Worshipping the mighty Kchommander and seeking the virtues of Gebauz

  • Ubik
    5
    Ubik
    Mitglied
    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
    6
    grassi3000
    Mitglied
    Reaktionen
    1
    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)

    Worshipping the mighty Kchommander and seeking the virtues of Gebauz

  • Ubik
    5
    Ubik
    Mitglied
    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
    6
    grassi3000
    Mitglied
    Reaktionen
    1
    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

    Worshipping the mighty Kchommander and seeking the virtues of Gebauz

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung