Должен ли я объявить эти методы const?

Я работаю над кодом C ++, где у меня есть несколько объектов менеджера с закрытыми методами, такими как

void NotifyFooUpdated();

которые называютOnFooUpdated() Метод на слушателей этого объекта.

Обратите внимание, что они не изменяют состояние этого объекта, поэтому их можно сделать техническиconst методы, даже если они обычно изменяют состояние системы в целом. В частности, объекты прослушивателя могут вызывать этот объект и изменять его.

Лично я бы хотел оставить их как есть и не объявлять ихconst.

Тем не менее, наша проверка статического кода QAC помечает это как отклонение, поэтому я должен либо объявить ихconstИли я должен спорить, почему они должны оставаться неконстантными и получать грант за отклонение.

Каковы аргументы для того, чтобы не объявлять эти методы?const?
Или я должен следовать QAC и объявить ихconst?
Должен ли я принять строго локальную точку зрения, ограниченную этим объектом, или рассмотреть систему в целом?

Ответы на вопрос(13)

Ваш ответ на вопрос