In this particular situation (inside the class template) matrixis a shorthand for matrix<T>. When you write a lot of hairy patterns all day, trying to fit everything into 80 columns, shorthand is welcome.
Note that you can also abbreviate method arguments:
template <typename T>
struct matrix
{
typedef matrix my_type;
matrix();
matrix& operator=(matrix);
};
template <typename T>
matrix<T>& matrix<T>::operator=(matrix m)
{
}
source
share