Bonjour à tous!

Je crée une multimap:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
PointDeControle::Tableau::const_iterator iter;
std::multimap<float, int> liste_distance; // Possibilité de plusieurs distances égales
 
for (iter = pdc_depart_.begin(); iter != pdc_depart_.end(); iter++) {
	liste_distance.insert(std::multimap<float, int>::value_type(distCarre(iter->second, point_courant), iter->first) );
} // On a une liste DISTANCE / Cle associée triée orde croissant
Je possède maintenant une multimap avec un nombre quelconque d'élément (trié selon mon critère), et je ne voudrais garder que les n premiers éléments, c'est à dire supprimer tous les autres.

J'ai bien entendu pensé à un "iter++" n fois et utiliser erase(iter, end), mais c'est pas une solution géniale.

Si quelqu'un a une solution "propre" à me proposer (pas de recopie), je suis preneur !