OVH Cloud OVH Cloud

std::between??

16 réponses
Avatar
Michaël Delva
Salut à tous,

par curiosité, existe-il une fonction between dans la STL? J'ai vu min et
max, mais pas ce type de fonction...

Ce n'est pas que ce soit difficile à coder, mais c'était pour savoir...

Merci!

6 réponses

1 2
Avatar
drkm
"Michaël Delva" writes:

Ben en fait je pensais juste à une fonction qui détermine si oui ou non une
valeur se situe entre deux autres, donc dans l'esprit de ce qu'a écrit
Fabien...


Moi, c'est drkm :-) (si je me souviens bien, Fabien donnais un
exemple renvoyant une valeur entre deux bornes)

--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html

Avatar
Fabien LE LEZ
On Wed, 04 Aug 2004 03:52:39 +0200, drkm :

(si je me souviens bien, Fabien donnais un
exemple renvoyant une valeur entre deux bornes)


<news:

--
;-)

Avatar
drkm
Fabien LE LEZ writes:

On Wed, 04 Aug 2004 03:52:39 +0200, drkm :

(si je me souviens bien, Fabien donnais un
exemple renvoyant une valeur entre deux bornes)


<news:


Oops. Effectivement.

--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html


Avatar
Michel Michaud
Dans news:,
"Michel Michaud" wrote in
news:d0VPc.19149$Jq2.856520 @news20.bellglobal.com:
Ben moi, comme il a mentionné min et max, j'imaginais qu'il
voudrait un algorithme qui renvoie une paire avec ces deux
valeurs. L'idée étant (j'imagine) d'éviter d'avoir à parcourir
deux fois les données.

Ce serait inspiré de equal_range qui renvoie lower_bound et
upper_bound.


Ben en fait je pensais juste à une fonction qui détermine si
oui ou non une valeur se situe entre deux autres, donc dans
l'esprit de ce qu'a écrit Fabien...


Oups. C'est vrai qu'en fait, tu ne parlais pas de min_element et
max_element.

Je crois qu'il serait difficile de faire une fonction Between
dans l'esprit normal de C/C++ à cause de l'évaluation court-
circuit, à moins de faire une macro qui aurait l'inconvénient de
faire deux évaluations, ce qui serait à l'encontre de l'esprit
C++ ! Avec if (Between(a, x++, b++)) on voudrait quoi ? Que x++
soit fait une seule fois ? Donc pas de macro. Que b++ soit fait
seulement si a <= x ? Difficile sans macro !

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


Avatar
Fabien LE LEZ
On Wed, 4 Aug 2004 11:36:31 -0400, "Michel Michaud" :

Avec if (Between(a, x++, b++)) on voudrait quoi ?


AMHA, avec un tel code, on voudrait surtout faire tourner en bourrique
le relecteur...


--
;-)

Avatar
Michel Michaud
Dans news:, Fabien LE
On Wed, 4 Aug 2004 11:36:31 -0400, "Michel Michaud"
:

Avec if (Between(a, x++, b++)) on voudrait quoi ?


AMHA, avec un tel code, on voudrait surtout faire tourner en
bourrique le relecteur...


On ne veut pas écrire ça, mais il faudrait une sémantique
claire quand même... (et consistante avec le reste du langage).

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


1 2