Инициализация постоянной ссылки с номером - PullRequest
0 голосов
/ 16 мая 2018

Что означает следующая строка? Почему это разрешено, поскольку 0 - это r-значение, а не имя переменной? Каково значение const в этом утверждении?

const int &x = 0;

1 Ответ

0 голосов
/ 16 мая 2018

Я получил свой собственный ответ и публикую его на тот случай, если другие начинающие программисты запутаются, как и я.

Неконстантная ссылка не может указывать на литерал.Вы не можете связать литерал со ссылкой на неконстантный (поскольку изменение значения литерала не имеет смысла), и только l-значения могут быть связаны со ссылками на неконстантный. Однако вы можете связать литерална ссылку на конст.«Const» важен.В этом случае для этой цели создается временная переменная, которая обычно создается в стеке.

...