C++

zerbo1000
In c++ in un codice come questo


double *fd=new double[fn];
fn=0;
for(int i=0;i if(d-mean>-r*devst && d-mean fd[fn++]=d;
return fd;

se al posto di

fd[fn++]=d;

avessi scritto

fd=d;

sarebbe stato uguale? è la prima volta che vedo ++ dentro [] in quel senso.

grazie

Risposte
apatriarca
No, fn viene incrementato solo quando la condizione è verificata (dopo aver fatto l'assegnamento) mentre i viene incrementato ad ogni iterazione. Quella riga è insomma equivalente a
fd[fn] = d[i];
fn = fn + 1;

zerbo1000
ma quindi è possibile sempre usare ++ dentro [] per ottenere quel tipo di incrementazione? non centra che sono fd è un puntatore?

apatriarca
L'operatore di incremento può essere usato ovunque sia possibile fare un qualche tipo di operazione. Non ha nulla di particolare.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.