Maison > Article > développement back-end > Comment utiliser correctement l'idiome Effacer-Supprimer pour supprimer des paires dans un vecteur en fonction d'un premier élément spécifique ?
Utilisation de l'idiome Effacer-Supprimer avec des conteneurs de paires
Supposons que nous ayons un vecteur de paires
Cependant, comme le démontre la question, la suppression de paires avec une première valeur de 4 entraîne un comportement inattendu. Pour remédier à cela, nous devons fournir la plage correcte à la fonction std::erase.
Le code amélioré ressemble à ceci :
stopPoints.erase(std::remove_if(stopPoints.begin(), stopPoints.end(), [](const stopPointPair stopPoint) -> bool { return stopPoint.first == 4; }), stopPoints.end());
Voici pourquoi cela fonctionne correctement :
En spécifiant la plage correcte dans l'appel std::erase, nous garantissons que toutes les paires avec la première valeur spécifiée sont supprimées efficacement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!