Sollte ich diese Methoden als const deklarieren?
Ich arbeite an einem C ++ - Code, in dem ich mehrere Managerobjekte mit privaten Methoden wie @ hab
void NotifyFooUpdated();
, die das @ nennOnFooUpdated()
-Methode für die Listener dieses Objekts.
Bitte beachten Sie, dass sie den Status dieses Objekts nicht ändern, so dass sie technisch gemacht werden könnenconst
-Methoden, obwohl sie normalerweise den Status des gesamten Systems ändern. Insbesondere können die Listener-Objekte dieses Objekt zurückrufen und ändern.
ch persönlich möchte sie so lassen, wie sie sind, und sie nicht deklariereconst
.
Der QAC unseres Static Code Checkers kennzeichnet dies jedoch als Abweichung, sodass ich sie entweder als @ deklarieren musconst
, oder ich muss mich streiten, warum sie nicht konstant bleiben und einen Zuschuss für die Abweichung erhalten sollen.
Was sind Argumente, um diese Methoden nicht zu deklarierenconst
?
Oder soll ich QAC folgen und sie deklarierenconst
?
Sollte ich einen streng lokalen Standpunkt einnehmen, der auf dieses Objekt beschränkt ist, oder das System als Ganzes betrachten?