// case 1
const int i = 42;
const auto &k = i;
// case 2
const int i = 42;
auto &k = i;
Нужно ли нам ключевое слово const
перед auto
в этом сценарии? В конце концов, ссылка (k
) на автовыводимый тип будет включать в себя верхний уровень const
объекта ( const
int i
). Поэтому я считаю, что k
будет ссылкой на целое число, которое является константным (const int &k
) в обоих случаях.
Если это правда, означает ли это, что const auto &k = i;
в случае, когда 1 заменяется компилятором как const int &k = i;
(auto
заменяется на int
)? Если в случае 2 auto
заменяется на const int
?