Im tenant un itérateur qui pointe vers un élément d'un vecteur, et je voudrais le comparer à l'élément suivant du vecteur.C++ vector <T> :: opérateur d'itérateur +
Voici ce que j'ai
Class Point{
public:
float x,y;
}
//Somewhere in my code I do this
vector<Point> points = line.getPoints();
foo (points.begin(),points.end());
où foo est:
void foo (Vector<Point>::iterator begin,Vector<Point>::iterator end)
{
std::Vector<Point>::iterator current = begin;
for(;current!=end-1;++current)
{
std::Vector<Point>::iterator next = current + 1;
//Compare between current and next.
}
}
Je pensais que cela fonctionnerait, mais current + 1
ne me donne pas l'élément suivant du vecteur.
Je pensais que l'opérateur + était le chemin à parcourir, mais cela ne semble pas le cas. Y at-il une solution de contournement à ce sujet?
THanks
Pourriez-vous montrer plus en détail pourquoi vous pensez que 'next' ne fait pas référence à l'élément après le courant? –
Pouvez-vous clarifier "mais le + 1 ne me donne pas l'élément suivant du vecteur". ? – Naveen
Cela semble très bien –