You cannot directly link a link to an object with another type.
For const int &ri = i;, you ifirst need to convert to int, then create a temporary one intand then attach it to it ri; it has nothing to do with the original object i.
BTW: the lifetime of a temporary is extended to fit the lifetime of a link here.
BTW2: lvalue-reference const rvalue-reference.