Duplicar posible:
Can I declare variables of different types in the initialization of a for loop?C++ Inicialización 2 iteradores diferentes en un bucle for
me gustaría tener un bucle en C++ que construye 2 tipos diferentes de iterador vector en la inicialización
Aquí está una idea aproximada de lo que me gustaría:
std::vector<double> dubVec;
std::vector<int> intVec;
double result = 0;
dubVec.push_back(3.14);
intVec.push_back(1);
typedef std::vector<int>::iterator intIter;
typedef std::vector<double>::iterator dubIter;
for (intIter i = intVec.begin(), dubIter j = dubVec.begin(); i != intVec.end(); ++i, ++j)
{
result += (*i) * (*j);
}
Alguien sabe lo que es el estándar que hacer en esta situación? No puedo usar un vector de doble para intVec porque estoy buscando una solución general. [es decir. Podría tener alguna función f que toma int duplicar y luego calcular f (* i) * (* j)]
Utilice '++ i, ++ j' en lugar de' && ', ya que eso no funciona para los iteradores. – Xeo
Incrementar un iterador sin verificarlo es peligroso. – Konrad
cambió && a una coma en el ciclo for. thx – Derek