Size: a a a

2021 July 05

D

Danya in supapro.cxx
int main() {
       int & const a = 5;
}
$ clang++ m.cpp
m.cpp:2:8: error: 'const' qualifier may not be applied
     to a reference
       int & const a = 5;
             ^
m.cpp:2:14: error: non-const lvalue reference to type
     'int' cannot bind to a temporary of type 'int'
       int & const a = 5;
                   ^   ~
2 errors generated.
источник

D

Danya in supapro.cxx
Точно?
источник

J

Jon in supapro.cxx
Да
источник

D

Danya in supapro.cxx
Не компилируется и не работает
источник

J

Jon in supapro.cxx
Msvc компилит
источник

D

Danya in supapro.cxx
Покажи на godbolt.org
источник

K

Kelbon in supapro.cxx
const int& это ссылка на константное значение, int const & это то же самое, int& const это значит константна сама ссылка, но значение нет
источник

K

Kelbon in supapro.cxx
да я прямо в vs запустил
источник

K

Kelbon in supapro.cxx
чтобы убедится на 100%
источник

D

Danya in supapro.cxx
Ну ты гений
Ссылка ВСЕГДА константна
источник

IZ

Ilia Zviagin in supapro.cxx
Одно и то же.
Правда, это не выражение
источник

D

Danya in supapro.cxx
А теперь включи режим совместимости с стандартом
источник

D

Danya in supapro.cxx
Илья, внимательно прочитай
источник

VS

Vlad Serebrennikov in supapro.cxx
компилировать компилирует, но сообщение об ошибке как бы намекает
warning C4227: anachronism used: qualifiers on reference are ignored
источник

K

Kelbon in supapro.cxx
да, но в таком случае в msvc просто это ничего не делает
источник

IZ

Ilia Zviagin in supapro.cxx
Это традиционная свобода в  помещении модификаторов в объявлении.
источник

K

Kelbon in supapro.cxx
const просто повторяет const по умолчанию
источник

J

Jon in supapro.cxx
Спасибо
источник

D

Danya in supapro.cxx
Короче конкретно эти две штуки — разное
const во втором ничего не делает
источник

VS

Vlad Serebrennikov in supapro.cxx
источник