Comment utiliser find_if avec une liste std :: si la liste contient des structures? Ma première à cette tentative de pseudo-code ressemble à ceci:find int dans struct avec find_if pour std :: list avec structs
typename std::list<Event>::iterator found =
find_if(cal.begin(), cal.last(), predicate);
Le problème ici est que le prédicat ne soit pas directement visible dans la liste mais à l'intérieur event.object.return_number()
. Comment suis-je supposé faire référence à un int qui est imbriqué dans la structure et qui nécessite l'accès à une méthode get.
Merci, c'est très probablement ce que je vais faire. Bien que je pensais juste à surcharger l'opérateur == dans ma structure d'événement, quelle est votre opinion là-dessus? Puis-je utiliser un événement en tant que prédicat? – foo
@foo: Probablement une mauvaise idée! Il n'est pas évident de voir ce que fait 'e == 3'. La surcharge de l'opérateur doit être réservée aux situations où la signification est sans ambiguïté. –
Peu importe, j'ai utilisé le foncteur et cela a parfaitement fonctionné. Merci encore. – foo