Почему было изменено определение переменной во время разработки С++ 11?
n3035 говорит:
Переменная вводится объявлением объекта. Имя переменной обозначает объект.
n3090 говорит:
Переменная вводится путем объявления ссылки, отличной от нестатического элемента данных или объекта. Имя переменной обозначает ссылку или объект.
Интересно, что побудило это изменение. Нужно ли это делать с ссылками rvalue?
Ответы
Ответ 1
Изменение было в ответ на CWG дефект 633. Список изменений, связанных с этим, можно найти в n2993:
Цель этих изменений состоит в том, чтобы расширить значение "переменной", чтобы охватить как именованные объекты, так и ссылки, и применять термин последовательно, когда это возможно.