Witam, mam taką klasę:
class CMatrix
{
private:
int Rows;
int Columns;
float* pData;
public:
CMatrix(void);
CMatrix(int rows, int columns);
CMatrix(const CMatrix & matrix);
~CMatrix(void);
void setElement(int row, int column, float element);
float getElement(int row, int column);
...};
CMatrix::CMatrix(int rows, int columns)
{
Rows = rows;
Columns = columns;
pData = new float[Rows * Columns];
float* pEnd = &pData[Rows * Columns];
for(float* p = pData; p < pEnd; p++)
*p = 0.0;
}
void CMatrix::setElement(int row, int column, float element)
{
*(pData+ row * Columns + column) = element;
}
float CMatrix::getElement(int row, int column)
{
return *(pData + row * Columns + column);
}
I mam pytanie, bo ta funkcja set działa prawidłowo (podaje się do niej wiersz i kolumnę oraz element jaki trzeba do niej wpisać), jednakże nie rozumiem za bardzo tego zapisu w tej funkcji. Mógłby mi ktoś powiedzieć jak to działa ? bo się nigdy nie spotkałem z takim zapisem. ( element to nie jest wskaźnik, a się go przypisuje do wskaźnika (tylko jakiego?)).