std::map Element mit Key XXX vorhanden?



  • Hi Leute!
    Es geht um eine Otto-Normal-std::map.
    Wie kann ich am sinnvollsten herausfinden, ob ein Element mit dem Key XXX vorhanden ist?

    Bisher hab ich immer einen try-Block um dan operator[] gemacht.
    Ich bin aber sicher es geht besser.

    Ein Snippet wäre gut.
    Vielen Dank im Voraus!



  • 1. Benutze find(..) um herauszufinden, ob ein Key schon existiert.
    2. Mit dem [] operator wird der entsprechnde Key, wenn nicht schon existent, eingetragen. (try- catch bringt rein gar nichts).

    Simon



  • so in der Art sollte es funktionieren:

    std::map<T>::iterator it = m.find(key);
    
    if ( it != m.end() )
    {
      // key existiert  
    }
    

Anmelden zum Antworten