just now looking into this. not sure if i'm doign it wrong. a sanity check would be much appreciated.
Code:
Matrix&& Matrix::operator +(const Matrix& b)const
{
Matrix result(*this);
result+=b;
return (Matrix&&)result;
}
Matrix::Matrix(Matrix&& rhs):
data(rhs.data),
rows(rhs.rows),
cols(rhs.cols)
{
}
void foo()
{
Matrix a;
Matrix b;
Matrix aPlusB(a+b);
}
edit: ok it seems like i am definitely missing the point. this is the usage case i'd like to accomodate: using arithmetic operators on matrix operations without any extraneous copies. if someone can assist in disabusing me of my ignorance that would be fantastic.
thanks.