suchen in std::map

  • 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

  • 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

  • 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

Jetzt mitmachen!

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