trouver dans std::vector<std::pair>
J'ai un vecteur de paires. La première paire est de type std::string, et le second est de type Conteneur.
Quelle fonctionnalité pratique existe dans les mst ou coup de pouce pour que je puisse retourner un Conteneur compte tenu de la chaîne de valeur de la clé?
Mise à JOUR
Il a été fait remarquer que je pourrais utiliser un std::map à la place, mais j'ai réellement besoin de conserver l'ordre de mes articles, dans l'ordre que je les pousser à le vecteur.
Dans ce cas, pourquoi
Prowl j'ai marqué ma question c++98
J'ai besoin de préserver l'ordre des éléments dans le vecteur
Désolé, j'ai raté le tag. Eh bien, la réponse est la même, sauf pour la partie à l'intérieur de parenthèses
std::vector
et pas std::map
?std::find_if
et une coutume de prédicat (lambda en C++11)Prowl j'ai marqué ma question c++98
J'ai besoin de préserver l'ordre des éléments dans le vecteur
Désolé, j'ai raté le tag. Eh bien, la réponse est la même, sauf pour la partie à l'intérieur de parenthèses
OriginalL'auteur Baz | 2013-03-19
Vous devez vous connecter pour publier un commentaire.
Une solution possible:
Voici un exemple complet:
Et voici une live exemple.
OriginalL'auteur
À l'aide de Coup de pouce.Gamme et Coup de pouce.Lier, vous pouvez le faire:
boost::bind
avecstd::bind1st
et de se débarrasser de boost de cette façon.OriginalL'auteur
Il y a une solution simple: utiliser
std::copy
etstd::inserter
:String_To_Data_Map string_to_data_map(string_data_pairs.begin(), string_data_pairs.end());
?Oui... oui, vous le pouvez. J'ai parfois l'oublier sur la plage en fonction des constructeurs.
OriginalL'auteur
A fonctionné pour moi!
OriginalL'auteur