que he leído aquí y en otros lugares que cuando se repite una std :: vector uso de índices, debe:Iterar std :: vector múltiple
std::vector <int> x(20,1);
for (std::vector<int>::size_type i = 0; i < x.size(); i++){
x[i]+=3;
}
Pero lo que si usted está iterando dos vectores de diferentes tipos:
std::vector <int> x(20,1);
std::vector <double> y(20,1.0);
for (std::vector<int>::size_type i = 0; i < x.size(); i++){
x[i]+=3;
y[i]+=3.0;
}
¿es seguro asumir que
std::vector<int>::size_type
es O f del mismo tipo que
std::vector<double>::size_type
?
¿Sería seguro simplemente usar std :: size_t?
Gracias.
Si se le ha enseñado sobre la iteración gusta esto, te han enseñado mal Además de 'i ++' que cualquier compilador decente debería optimizar a '++ i', todavía se llama a' x.size() 'en cada vuelta del ciclo, que si no es trivial y no está en línea es un desperdicio. –
@Matthieu, solo un ejemplo rápido y sucio para ilustrar mi pregunta. También debería usar iteradores y no hacerlo por índice. – Mark