j'été surpris de voir le retour véritable de code suivant:comportement is_partitioned quand aucun élément satisfont prédicats
bool isSadPancake(char c) { return c == '-'; }
string pancakes = "+++";
bool isParitioned = is_partitioned(pancakes.begin(), pancakes.end(), isSadPancake);
La documentation que je vois en ligne dit is_partitioned
renvoie true si tous les éléments de la gamme [first, last) qui satisfont le prédicat apparaissent avant tous les éléments qui ne le font pas. Dans ce cas, aucun élément satisfaisant le prédicat n'apparaît donc je m'attendais à une valeur de retour false. Est-ce que ce comportement est attendu? Où puis-je trouver plus de détails dans la norme?
Référence pertinente [ici] (http://eel.is/c++draft/alg.partitions). – DeiDei
L'erreur logique dans votre pensée est que "aucun élément satisfaisant le prédicat n'apparaît" est un non-sequitur. Ce n'est pas pertinent. l'algorithme n'est pas concerné par "si les éléments qui satisfont le prédicat apparaissent". –