Bonjour,
J'ai surchargé std::vector afin de créer un vecteur circulaire. L'idée c'est que si mon vecteur fait une taille de 10, Vect.at(12) me renvoie le troisème objet, ou alors Vect.at(-2) me renvoie l'avant dernier objet ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part class CircularVector : public std::vector<T_Obj>Cette classe m'est super utile
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 template<typename T_Obj> T_Obj &CircularVector<T_Obj>::at(const qint32 &adr) { qint32 p; adr >= 0 ? p = adr%size_ : p = size_ - (-adr)%size_; return vector<T_Obj>::at(p); }
Par contre je ne sais pas du tout comment surcharger iterator
Pour pouvoir faire quelque chose du genre
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part for(std::vector<float>::iterator it = Vector.begin(); it < Vector.end() + 8; ++it) {...}
Partager