Размышляя о (x | r | l | pr | gl) значениях, следующий вопрос пришел мне на ум:
Рассмотрим следующие две объявления переменных:
X x = ...;
и
X&& x = ...;
и предположим, что ... не доставляют xvalue.
Может ли кто-нибудь подумать о том, что код не использует decltype, в котором это имеет значение? В обоих случаях (x) будет на lvalue типа X, не так ли?