  We give a constructive characterization of matrices satisfying the
reverse-order law for the Moore--Penrose pseudoinverse. In particular, for a
given matrix $A$ we construct another matrix $B$, of arbitrary compatible size
and chosen rank, in terms of the right singular vectors of $A$, such that the
reverse order law for $AB$ is satisfied. Moreover, we show that any matrix
satisfying this law comes from a similar construction. As a consequence,
several equivalent conditions to $B^+ A^+$ being a pseudoinverse of $AB$ are
given, for example $\mathcal{C}(A^*AB)=\mathcal{C}(BB^*A^*)$ or
$B\left(AB\right)^+A$ being an orthogonal projection. In addition, we
parameterize all possible SVD decompositions of a fixed matrix and give
Greville-like equivalent conditions for $B^+A^+$ being a
$\{1,2\}$-,$\{1,2,3\}$- and $\{1,2,4\}$-inverse of $AB$, with a geometric
insight in terms of the principal angles between $\mathcal{C}(A^*)$ and
$\mathcal{C}(B)$.
