c ++ std :: vector szukaj wartości

Próbuję zoptymalizowaćstd::vector „search” - indeksowanie iteracji po wektorze i zwracanie oraz element pasujący do kryteriów „wyszukiwania”

struct myObj {
   int id;
   char* value;
};

std::vector<myObj> myObjList;

utwórz kilka tysięcy wpisów z unikalnymidi wartości i popchnij je do wektoramyObjList.

Jaki jest najskuteczniejszy sposób pobieraniamyObj który pasuje doid. Obecnie indeksuję iteracje, takie jak:

for(int i = 0; i < myObjList.size(); i++){
   if(myObjList.at(i).id == searchCriteria){
    return myObjList.at(i);
   }
}

Uwaga:searchCriteria = int. Wszystkie elementy mają unikalneidjest. Powyższe ma zadanie, ale prawdopodobnie nie jest to najbardziej efektywny sposób.

questionAnswers(4)

yourAnswerToTheQuestion