Digamos que quiero iterar a través de una matriz de dobles y sumarlos. Tengo dos formas de hacer esto.punteros de matriz C++ [] o ++
A)
double sum (double * series, int size) {
double sum = 0.0;
for (int i = 0; i < size; i++) {
sum += *series++;
}
return sum;
}
B)
double sum (double * series, int size) {
double sum = 0.0;
for (int i = 0; i < size; i++) {
sum += series[i];
}
return sum;
}
que es mejor y por qué/cuando debería utilizar uno sobre el otro.
Me gusta B) porque es más corto y más fácil de entender si no sabes cómo funcionan los punteros. Puedes usar vectores con std :: accumulate también. – chris
El estilo A no es tan claro para mí en lo que está logrando. Personalmente, siempre elijo el estilo B, que proviene de un fondo de C#. –
@Richard J. Ross III, '* series' evalúa los datos contenidos en a qué series apunta. El ciclo incrementa la serie, por lo que apunta al siguiente elemento de la matriz cada vez. – chris