Bonjour à tous,

je vous donne un exemple ca sera plus parlant sur mon probleme.
Voici une classe A.

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;
};
et 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;
}
}
ou alors dans le main :
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;
}
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.

Merci d'avance pour vos éclaircissements.