Я изучаю матричные операции, и наш учитель предоставил нам следующие 3 функции:
//methods used as GETTERS and SETTERS - to access the matrix elements
float& mat3::at(int i, int j) {
return matrixData[i + 3 * j];
}
const float& mat3::at(int i, int j) const {
return matrixData[i + 3 * j];
}
mat3& mat3::operator =(const mat3& srcMatrix) {
//usage example for the "at" getter/setter methods
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
//at(i,j) acts as a setter
//srcMatrix.at(i, j) is used as a getter
at(i, j) = srcMatrix.at(i, j);
}
}
return (*this);
}
Я понял, что srcMatrix.at (i, j) действует как получатель, это довольно очевидно потому что функции возвращают значение в этом месте. Но я не могу понять, почему он действует как сеттер, так как нет назначения. И какая из функций at является геттером, а какая сеттером?