Non l'ho testato ma dovrebbe andare bene.
Questo vale per un singolo array e per copiare la x. Ovviamente si può estendere, parametrizzare etc. Modificando il costruttore, aggiungendo altri due puntatori e altre due copie, puoi creare e copiare tre array in un colpo solo.codice:class RetrieveParamX { private: double* pa; public: RetrieveParam(double* a) : pd(a) { ; } void operator()(punto& p){ *pa++ = p.x; } }; double da = new double[vec.size()]; for_each(vec.begin(),vec.end(),RetrieveParamX(da)); ... // alla fine delete[] da;

Rispondi quotando