Déjà on peut rendre le code un peu plus claire avec l'instruction "using namespace" (et en utilisant du C++ jusqu'au bout) : using namspace std;
int array[] = { 1, 2, 3, 4 ,5 };
vector l( array, array + sizeof( array ) / sizeof( int ) );
for(vector::iterator it = l.start(); it != l.end(); ++it ) {
....cout << *it << endl;
}
Les itérateurs C++ sont très intéressant par leur compatibilités avec le C. Les algos de la STL utilisent un iterateur de début et un itérateur de fin. Tu peut y mettre simplement des pointeurs ça marcheras aussi bien. Si ça te fais si mal d'écrire vector::iterator bientôt tu pourras utiliser auto.
Ensuite comme dis beagf pour le C, avec les iterateurs C++ tu as des fonctionnalités que tu n'a pas en python (ni même avec du C d'ailleurs). Faire un parcours en sens inverse consiste uniquement à changer le type de l'itérateur. De la même manière tu peut indiquer comme constantes les données de ton conteneur.
J'apprécie par rapport au foreach que tu peut trouver dans pleins de langages. La notion d'itérateur, elle permet de concevoir des algorithmes sur n'importe quel conteneur tout en pouvant (pour l'utilisateur de la fonction) choisir l'ordre de inverse ou pas et si les données sont constantes ou pas.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Première remarques
Posté par barmic . En réponse à la dépêche Go : Un nouveau langage chez Google. Évalué à 1.
using namspace std;int array[] = { 1, 2, 3, 4 ,5 };
vector l( array, array + sizeof( array ) / sizeof( int ) );
for(vector::iterator it = l.start(); it != l.end(); ++it ) {
....cout << *it << endl;
}
Les itérateurs C++ sont très intéressant par leur compatibilités avec le C. Les algos de la STL utilisent un iterateur de début et un itérateur de fin. Tu peut y mettre simplement des pointeurs ça marcheras aussi bien. Si ça te fais si mal d'écrire vector::iterator bientôt tu pourras utiliser auto.
Ensuite comme dis beagf pour le C, avec les iterateurs C++ tu as des fonctionnalités que tu n'a pas en python (ni même avec du C d'ailleurs). Faire un parcours en sens inverse consiste uniquement à changer le type de l'itérateur. De la même manière tu peut indiquer comme constantes les données de ton conteneur.
J'apprécie par rapport au foreach que tu peut trouver dans pleins de langages. La notion d'itérateur, elle permet de concevoir des algorithmes sur n'importe quel conteneur tout en pouvant (pour l'utilisateur de la fonction) choisir l'ordre de inverse ou pas et si les données sont constantes ou pas.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)