Амперсанд & с константой в конструкторе
Может ли какой-нибудь орган сообщить мне причину, почему мы обычно помещаем const и & с каким-либо объектом, который передается в конструкторе, например.
Book::Book(const Date &date);
Путаница, которую я имею здесь, состоит в том, что обычно знак & используется в некоторой функции, потому что значение передается по ссылке, и любые изменения, происходящие с этой переменной в функции, должны отражаться впоследствии. Но с другой стороны, const говорит, что этой переменной нельзя присваивать.
Если у кого-то есть какое-то хорошее представление об этом, пожалуйста, дайте мне знать причину этого.