this can help think of both types of links as high-level concepts. None of them have an obvious low-level implementation. They can be represented by pointers, but often they are simply high-level aliases, and therefore they generally have no low-level representation. No additional code is generated, the link is simply replaced by the object that it refers to.
In cases where the link cannot be completely removed before the code is generated, both the rvalue and the lvalue links are usually represented as pointers as a memory address.
source share