Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

stl : tri d'élément selon un membre.

13 réponses
Avatar
ALB
Je suis en train d'=E9claircir/nettoyer mon code et j'aimerais savoir
s'il existe une ligne de code permettant de trier une liste selon un
membre donn=E9, sans utiliser de foncteur.
Exemple :
struct foo {
int ID;
int taille;
float poids;
};

list<foo> malist;
// on remplit malist.

comment la trier par taille ? Avec foncteur, je sais faire. Mais avec
des bind, des mem_fun_ref et du greater, je ne vois pas comment faire.

Je me pose la m=EAme question pour une recherche de maximum par exemple
(quel est l'ID ayant la plus grande taille ?)

J'ai jet=E9 un coup d'oeil =E0 la faq, j'ai (beaucoup) cherch=E9 avec
google... sans succ=E8s.
Alors, je m'en remets =E0 une =E2me charitable.

ALB

3 réponses

1 2
Avatar
James Kanze
ALB wrote:

Certes : tu peux utiliser une fonction à la place du foncteur.



C'est vrai. Mais, je ne souhaite pas faire ça non plus.


En fait, utiliser des foncteurs et des fonctions obligent à
les définir avant de les utiliser, ce qui, je trouve encombre
le code inutilement dans la mesure où je ne les utilise
généralement qu'une seule fois.


Je ne suis pas sûr que j'ai bien compris, mais tu veux trier une
liste sans dire les critères de tri aux compilateur. Ça ne me
semble pas très logique.

--
James Kanze
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34


Avatar
Fabien LE LEZ
On Sun, 09 Jul 2006 16:21:23 +0200, James Kanze :

Je ne suis pas sûr que j'ai bien compris


Je ne suis pas sûr non plus ;-)
Tu as des circonstances atténuantes, puisque l'énoncé du problème est
faux.

En fait, l'OP semble vouloir un foncteur généré automatiquement à coup
de "bind".

Avatar
ALB

On Sun, 09 Jul 2006 16:21:23 +0200, James Kanze :

Je ne suis pas sûr que j'ai bien compris


Je ne suis pas sûr non plus ;-)
Tu as des circonstances atténuantes, puisque l'énoncé du problème est
faux.


Je viens de le relire, et oui, c'est vrai, l'énoncé est mal exprimé
et donc faux.

En fait, l'OP semble vouloir un foncteur généré automatiquement à coup
de "bind".


Exactement ! (pour être précis, à coup de bind1st et bind2nd).


1 2