Salut,

J'ai décidé de passer à la STL (avec <functional> et <algorithm> ) pour améliorer les performance de mon code algorithmique. Je viens de commencer les modifications ce matin, et j'ai un premier probléme .

Dans ma fonction rand() je veux renvoyer l'indice du 1er élément supérieur à rand (généré aléatoirement, mais utile lol). Ceci reviens à recupérer l'indice à partir de l'iterateur!? Dans mon code *it donne la valeur et non l'indice.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
int
randFromDistribution::rand()
{
  double rand = (double)(std::rand()) / RAND_MAX;
 
  std::vector<double>::iterator it = std::find_if( _dist.begin(), _dist.end(), std::bind2nd( std::greater<double>() , rand));
  return 1; // return it; temporaire pour compiler!
}
Merci
++