Outils d'utilisateurs

Outils du Site


string_view

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

string_view [2014/10/10 01:57]
gbdivers créée
string_view [2015/10/15 09:10] (Version actuelle)
gbdivers
Ligne 2: Ligne 2:
 ^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^ ^ Chapitre précédent ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ Chapitre suivant ^
  
-====== Les vues sur les collections ======+ 
 +====== Les ranges et vues sur les collections ====== 
 + 
 +====== Les ranges ====== 
 + 
 +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. 
 + 
 +<code cpp> 
 +vector<int> v1(10), v2(10); 
 +find(begin(v1), end(v1), 0); // ok 
 +find(begin(v1), end(v2), 0); // erreur 
 +</code> 
 + 
 +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 
 + 
 +  * sémantique de valeur 
 +  * en mode débug, conserver une référence sur la collection et vérifier que les itérateur sont cohérents ? 
 + 
 +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 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
string_view.1412899041.txt.gz · Dernière modification: 2014/10/10 01:57 par gbdivers