Что такое const & представляют в C ++ [closed]

Joe спросил: 13 июня 2018 в 03:10 в: c++

Что такое const & представляют в следующем C ++-коде?

for (int const& row : a) {
    // code
}

Если & использоваться до int или const? Например,

for (int& const row : a)for (int const& row : a)

Что правильно? В чем разница между этими двумя утверждениями?

1 ответ

Aganju ответил: 13 июня 2018 в 03:51

Он должен быть const int& i, если вообще что-либо. Существует некоторая свобода переключения трех частей вокруг, и все они означают одно и то же (но как только вы добавляете в микс, все становится по-другому, поэтому привыкайте к этому правильно).

подразумевает обещание изменить переменную not . Это позволяет компилятору делать более агрессивную и лучшую оптимизацию.
const означает, что значение int& не копируется , но исходное значение используется по ссылке. Это довольно бесполезно для int, но полезно для больших объектов, поскольку это экономит время для их копирования.

Attersson ответил: 13 июня 2018 в 03:56
Да и это также предотвращает другие типы неопределенного поведения, такие как привязка к временным значениям.
Joe ответил: 13 июня 2018 в 04:23
Благодарю за ваш ответ. Будет придерживаться верного пути, как это было предложено.

Дополнительное видео по вопросу: Что такое const & представляют в C ++ [closed]

Константы. Ключевое слово const. C++ для начинающих. Урок #6.

Ключевые слова var, let и const

True JS. 3. Переменные, var ,let, const