Chapitre précédent | Sommaire principal | Chapitre suivant |
---|
Les algorithmes utilisent des itérateurs pour manipuler les collections de données. Une contrainte forte est que les paires d'itérateurs doivent provenir de la même collection.
vector<int> v1(10), v2(10); find(begin(v1), end(v1), 0); // ok find(begin(v1), end(v2), 0); // erreur
Pour éviter ce type d'erreur, un range encapsule une paire d'itérateurs dans une classe. Il est plus facile dans ces conditions de vérifier la cohérence des itérateurs.
1. Ecrire une classe Range contenant une paire d'itérateurs
2. Réécrire les algorithmes de la bibliothèque standard pour prendre en compte les ranges
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4128.html
DP proxy ?
Problématique : on a une collection spécifique et l'on veut la manipuler comme si c'était une collection d'un autre type. Ou une sous collection
2 solutions :
Cf le TS
tableau multi dimensionnel
collection pour “voir” que les nombres pairs ?
Chapitre précédent | Sommaire principal | Chapitre suivant |
---|