Константные параметры и ссылки в C++

Параметры в C++ могут быть константными -- это значит, что значения параметров меняться не могут. Рассмотрим такие параметры на примере:

Аналогично обстоит дело и в случае передачи параметра по ссылке:

В качестве аргумента вы можете передать константному параметру как константу, так и переменную:

При этом необходимо различать процесс передачи констант в качестве аргументов для параметров, которые константными не являются:

Однако несмотря на то обстоятельство, что во время вызова функции ей передаются константы, функция способна изменять их значения, ведь сами параметры при этом константными не являются.

Константные ссылки

Остается добавить, что если функция получает аргументы по ссылке, то для того, чтобы выполнить передачу константы в функцию, параметры также должны представлять ссылку на константу:

По материалам https://metanit.com/cpp/tutorial/.