любой может объяснить разницу - PullRequest
11 голосов
/ 22 марта 2011

n3035 говорит: (2010-02-16)

Переменная вводится объявлением объекта.Имя переменной обозначает объект.

n3090 говорит: (2010-03-29)

Переменная вводится объявлением ссылки, отличной отчлен статических данных или объекта.Имя переменной обозначает ссылку или объект.

n3242 говорит: (2011-02-28)

Переменная вводится объявлением ссылки, отличной отнестатический член данных или объекта.Имя переменной обозначает ссылку или объект.

МОЖЕТ любой объяснить разницу между значениями (или) с помощью программы (именно то, что она говорит)

это утверждениеиз стандарта ISO C ++

Я видел эту ссылку:

Почему определение переменной было изменено во время разработки C ++ 11?

но это не (полный смысл) мой вопрос ...

Ответы [ 2 ]

7 голосов
/ 22 марта 2011

Рассмотрим:

int x = 42;
int& rx = x;

x - переменная;rx также следует считать переменной?Многие требования Стандарта относительно нереферентных переменных также применимы к ссылкам.Совершенно очевидно, что приходится постоянно указывать «переменные или ссылки на переменные» на протяжении всего Стандарта, поэтому, если определение переменной может включать в себя ссылки - возможно, со случайными «исключениями для ссылок», тогда Стандарт может быть - в итоге -упрощена.Мне кажется, что пересмотры изучали этот баланс.

6 голосов
/ 22 марта 2011

Это были CWG defect #633 in ISO C++03

Также ознакомьтесь с n2993, который имеет дело с core issue# 633 т.е. "Спецификациями для переменных, которые должны такжеприменять к ссылкам "

Цель этих изменений - расширить значение слова" переменная ", чтобы оно охватывало как именованные объекты, так и ссылки, и последовательно применять этот термин везде, где это возможно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...