Следует ли объявлять эти методы как const?

I ' m работает над некоторым кодом C ++, где у меня есть несколько объектов-менеджеров с частными методами, такими как

void NotifyFooUpdated();

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

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

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

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

13
задан starblue 19 October 2010 в 13:04
поделиться