Pouvez-vous donner un exemple ou un lien vers un sujet.
Réponses
Trop de publicités?Ce n'est pas spécifique au C++ (ni même aux langages informatiques). Dans la grammaire du langage naturel, dans une instruction telle que la porte est ouverte , la partie est ouverte est le prédicat et est soit vraie soit fausse, donc disons que vous aviez une classe cGate
, avec une fonction membre bool cGate::isOpen()
, une telle fonction serait un prédicat.
Essentiellement, si la fonction pose une question sur l'état ou la valeur de l'objet et que le résultat est vrai ou faux, alors il s'agit d'un prédicat.
Un prédicat est simplement une fonction qui renvoie vrai ou faux selon que ses entrées satisfont à une condition. En général, une fonction de prédicat doit être pure ; il devrait toujours renvoyer le même résultat lorsqu'on lui donne la même entrée (donc bool isDateInPast(Date &date)
serait un mauvais prédicat).
Ils sont souvent utilisés, par exemple, comme rappels pour les routines de tri STL (c'est-à-dire " est-ce que l'entrée a
inférieure à l'entrée b
? ").