OVH Cloud OVH Cloud

recherche d'un element suivant la valeur d'un des champs

184 réponses
Avatar
Alain Cabiran
Bonjour,

j'ai cherché, testé, retesté, essayé, réessayé et n'ai pas trouvé
de solution à ce problème

assume using namespace std :-)

imaginons avoir :

class objet
{
public:
objet(int valeur) : monchamps(valeur) { } ;
int getChamps() const { return monchamp; } ;
private:
int monchamps();
};

un conteneur : list<objet> liste;
son iterateur : list<objet>::iterator it;

une valeur prédéfinie : int valeur = 5;

est-ce qu'il est possible, en utilisant les adaptateurs stl,
d'avoir l'équivalent de :

cherche dans liste le premier élément avec la condition
it->monchamp == valeur ?

j'ai commencé par :

it = find_if(liste.begin(), liste.end(), TOTO);

ensuite j'ai cherché TOTO : bind2nd(equal_to<int>(), valeur)

et là ... je sais pas, j'ai essayé de placer :

mem_fun_ref(&objet::getChamps) mais je n'ai pas trouvé où le mettre
et même si je peux seulement l'y mettre.

quelqu'un a une idée ?

Alain Cabiran

ps: il manque évidemment le constructeur de copie, les operateurs de
comparaisons, ... dans la classe, c'est juste pour faire plus court.

10 réponses

Avatar
Fabien LE LEZ
On Thu, 7 Oct 2004 01:18:35 +0200, "Alain Naigeon" :

Comment on dit "nivellement par le bas", en Anglais ?


"Pragmatism" ?

Note que le mot "Anglais" désigne exclusivement un habitant de
l'Angleterre, et pas du tout une langue.


--
;-)

Avatar
Fabien LE LEZ
On Wed, 06 Oct 2004 10:32:15 +0200, Arnaud Meurgues
:

pour [les Français], il est important de s'ouvrir au marché européen


Sans oublier les charges sociales qui encouragent vivement les
entreprises à sous-traiter à l'étranger.

Note : la phrase ci-dessus constitue une observation, pas une opinion
politique.

Avatar
Fabien LE LEZ

Actuellement, en France, il est de plus en plus fréquent d'avoir des
équipes internationales à cause de l'ouverture européenne du marché
de l'emploi et de l'européannisation de l'industrie.
[...]



Ce à quoi Michel Michaud a répondu :

Je ne crois vraiment pas que mon argumentation avait un quelconque
rapport avec la politique et la protection de la langue :-)


Un de tes arguments est la faible probabilité qu'un code donné soit lu
par un non-francophone. L'argument d'Arnaud, qui me semble juste, est
que cette probabilité est relativement forte pour un code écrit en
France.


--
;-)


Avatar
drkm
"Michel Michaud" writes:

Oui, mais les outils permettant de transférer les fichiers n'ont
pas de problèmes avec mes accents...


Et avec ceux des autres ?

(je suis sérieux)

--drkm

Avatar
Michel Michaud
Dans le message 4163b11c$0$22603$,
Bon, juste une question. Le compilateur reçoit un fichier source.
Comment sait-il dans quel jeu de caractères il est été écrit ? Et
l'encoding ?


Je crois que le raisonnement est à l'envers. Si je veux compiler
un code avec un certain compilateur, je lui donne le code dans le
jeu de caractères qu'il connaît. Il faut convertir dans ce jeu
au besoin, avant de donner le code au compilateur.

Je t'assure que tu te trompes. En tout cas, ici. Certains emplois
demandent d'être bilingue (ou mieux), mais pas tous. Ce qui ne
veut pas dire qu'on ne cherche pas à ce que tout le monde soit
capable de comprendre l'anglais...


Il y a, au Québec, des gens qui ne parlent pas anglais ?


Oui, tout comme il y en a qui ne parlent pas français. Tout le
monde comprend probablement un peu l'autre langue, mais pas
nécessairement suffisamment pour prétendre la parler. Je dis
souvent (en blague) que mon (ex) beau-frère savait que yes et no
signifiait oui et non, mais qu'il n'était pas sûr lequel était
lequel... J'exagère, mais pas beaucoup !


--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Avatar
Michel Michaud
Dans le message ,
En passant, il y a une chose que je n'arrive pas à comprendre.
Depuis plus de vingt ans que je lis des livres techniques, le
meilleur écrit, c-à-d celui dont l'anglais était le mieux, c'est
bien le Josuttis et Vandevoort. Or, ni l'un ni l'autre des auteurs
n'est anglophone d'origine. Je n'arrive pas à comprendre comment
ils l'ont fait.


L'étape nécessaire s'appelle révision linguistique. Ça coûte
cher, alors seulement les livres qui ont un bon potentiel de
vente peuvent se le permettre. Rien de mystérieux :-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Michel Michaud
Dans le message ,
Je me suis peut-être mal exprimé. Tu semblais dire, dans un autre
sous-thread, que fclc++ était indispensable ; je contrai l'argument
en émettant l'idée que l'influence de fclc++ pourrait être négative.


Je crois que fclc++ est utile... Indispensable ? Je ne sais pas :-)

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/

Avatar
Michel Michaud
Dans le message ,
On 6 Oct 2004 02:41:54 -0700, wrote:

Ça veut dire que si tu entre « u00E9tu00E9 », tu es sûr d'avoir
un indentificateur valable. Et que si tu entre « été », tu
pourrais en avoir un, selon les locales installés, le locale
selectionné au moment de la compilation, l'humeur du compilateur
et les phases de la lune.



En fait, je crois bien que la norme prévoit que si on peut entrer
été, ce sera valable...

Dans ce cas, AMHA on ne doit pas utiliser de caractères accentués
dans les identificateurs:
- "été" n'est pas bon car il posera des problèmes de portabilité,


Je ne sais pas si c'est pire que les autres problèmes du genre,
comme ASCII vs EBCDIC...

- "u00E9tu00E9" n'est pas bon car illisible.


En principe, l'outil de développement devrait les cacher et
montrer été...

Si quelqu'un me demande comment écrire des identificateurs en
C++, je lui déconseillerai d'utiliser des caractères qui ne font
pas partie de l'ASCII 7 bits.


Et pour les commentaires, quel différence ?

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/


Avatar
Michel Michaud
Dans le message ,
Actuellement, en France, il est de plus en plus fréquent d'avoir
des équipes internationales à cause de l'ouverture européenne du
marché de l'emploi et de l'européannisation de l'industrie.
[...]



Ce à quoi Michel Michaud a répondu :

Je ne crois vraiment pas que mon argumentation avait un quelconque
rapport avec la politique et la protection de la langue :-)



Ça n'avait pas de rapport avec ce que tu cites...

Un de tes arguments est la faible probabilité qu'un code donné soit
lu par un non-francophone. L'argument d'Arnaud, qui me semble
juste, est que cette probabilité est relativement forte pour un
code écrit en France.


Je ne suis toujours pas convaincu. Relativement forte, c'est quoi
pour toi ? 1 % ? Je trouverais ça relativement fort...

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/



Avatar
Michel Michaud
Dans le message ,
"Michel Michaud" writes:

Oui, mais les outils permettant de transférer les fichiers n'ont
pas de problèmes avec mes accents...


Et avec ceux des autres ?

(je suis sérieux)


?

--
Michel Michaud
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/