Bonjour à tous,
je vous donne un exemple ca sera plus parlant sur mon probleme.
Voici une classe A.
et le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 classe A{ public: A(int value) : m_value(value){} int m_value = 0; };
ou alors dans le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 int main(){ std::vector<A> tab = { A(10), A(20), A(30), A(40) }; for( const auto & t : tab ) { std::cout << t.m_value << std::endl; } }
je ne vois pas en quoi la seconde méthode est plus performante. De plus j'ai lu que l'utilité des itérators c'est qu'on avait le meme code pour les différents conteneurs, or je peux tres bien utiliser for(const auto & t : tab) pour n'importe quel conteneur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int main() { std::vector<A> tab = { A(1), A(2), A(3), A(4)}; std::vector<A>::iterator it; for ( it = tab.begin(); it != tab.end(); ++it) { cout << (*it).m_value << endl; }
Merci d'avance pour vos éclaircissements.
Partager