Hi I'm implementing a matrix class in c++
I know that there are great libraries that do that like opencv but I need to do that myself.
For example if I implement the sum I can do like this
class Mat{
public:
    double* data;
    int rows,cols;
    Mat(int r,int c):rows(r),cols(c){
        data = new double[r*c];
    }
};
void Sum(Mat& A,Mat& B,Mat& C){
    for (int i = 0; i < A.rows*A.cols; ++i){
        C.data[i] = A.data[i]+B.data[i];
    }   
}
int main(){    
    //Allocate Matrices
    Mat A(300,300);
    Mat B(300,300);
    Mat C(300,300);
    //do the sum
    sum(A,B,C);
}
I would like to get something more readable like this but without losing efficiency
C = A + B
This way C is reallocated every time and I don't want that
Thank you for your time
 
     
    