From what I gather, lvalue-to-rvalue conversions happen when an objects value is required, rather than just it's address. Does that mean that lvalues can only hold the address of an object, while a prvalue holds the value of the object?
Also, could someone clarify for me why lvalues (glvalues) have to be converted to rvalues (prvalues)? Is there a reason why it has to be converted, in cases such as initialization?