Стоит ли передавать по ссылке объект, используя при этом конcтантный метод?
Часто в книгах встречал конструкцию вида:
void add_foo(const Foo&) const;
В книге объясняют тем, что лучше использовать константные методы, чтобы сразу было видно, где что меняется, а где нет.
Стоит ли передавать по ссылке объект, используя при этом конcтантный метод? Или следует лучше просто передавать без ссылки и без const? Кроме как нежелание копировать большой объект в память не могу придумать причин использовать так "извращенно" передачу по ссылке. По сути мы берем инструмент для передачи с возможностью изменения исходного объекта и запрещаем это делать. Стоит ли так делать постоянно? Может есть какие-то более важные причины о которых я просто не знаю?