Это объяснение просто упрощение. lvalues определяется не как «то, что вы можете взять по адресу», а по определенному набору правил относительно категории значений выражений. Эти правила тщательно сконструированы таким образом, чтобы в результате появился самосогласованный язык, в котором все достаточно аккуратно соединяется.
Как уже говорилось, объяснение подходит здесь вполне уместно, если учесть, что, написав ref1
, вы на самом деле не называете «ссылку», но вещь, на которую ссылаются. В этом волшебство ссылок: вы должны рассматривать их как псевдонимы имен, а не как отдельные сущности.
Есть некоторые утечки абстракции, связанные с этим (в частности, ссылки на членов), но это суть.
Вам следует забыть о таких понятиях, как «ссылка является lvalue» и вместо этого подумать о выражениях . Объекты имеют типы; выражения имеют категории значений.