Hi,
I have troubles understanding the relationship between pointers (to double) and multidimensional arrays (of doubles).
I have a C++ routine that returns pointers to doubles, and a class object that I'm creating computes multidimensional arrays, because I like to think of the data as matrices.
Then when the computation is done all I have to do is to copy the array values into the location pointed by the pointer, increment it and so on.
So this is what I have:
In this routine I instantiate an object of the class Field:Code:void STDCALL FIESUB ( double *dfddis, double *dfdvel ) { ... }
The idea being that in getForceDerivatives I would do something like this:Code:class msField { private: double m_dfdx[6][6]; double m_dfdxdot[6][6]; public: void getForceDerivatives(double *fddist, double *fdvel); };
That function is called like this (inside of FIESUB):Code:void msField::getForceDerivatives(double *fddist, double *fdvel) { // retrieves the force derivatives from the field member datas int i, j; for ( i = 0; i < 6; i++) { for ( j = 0; j < 6; j++) { *fddist++=m_dfdx[i][j]; *fdvel++=m_dfdxdot[i][j]; } } }
The result?Code:rField.getForceDerivatives(dfddis, dfdvel);
Mayhem.
Obviously I am forgetting something.
Can anyone explain the relationship between pointers to double and arrays of doubles (multidimensional arrays, that is...).
Any help much appreciated!!
And72.



LinkBack URL
About LinkBacks



Want to add some
Is it because C doesn't have namespaces - obfuscating the names makes naming collisions less probable?)