Если функция элемента может быть сделана статичной, то она должна быть сделана статичной, в противном случае, если она может быть сделана const, то она должна быть сделана const
Если функция элемента может быть сделана статичной, то она должна быть сделана статичной, в противном случае, если она может быть сделана const, то она должна быть сделана const.
const функции-члены не могут изменять элементы данных класса. static функция-член не может изменять нестатические элементы данных класса. Если функция-член не нуждается в изменении нестатических элементов данных класса, ограничьте их доступ к данным, объявив функции-члены как const или static. Такое заявление ясно выражает и обеспечивает реализацию замысла. То есть, если вы непреднамеренно попытаетесь изменить элемент данных через const функция-член, компилятор перехватывает ошибку. Без const объявление, такого рода непреднамеренная ошибка может привести к ошибкам, которые трудно найти или отладить.
Проверка выполняется в следующем порядке:
Средство проверки сначала проверяет, обращается ли функция-член класса к члену данных класса. Функции, не имеющие доступа к элементам данных, могут быть объявлены статическими.
Затем средство проверки проверяет функции, которые обращаются к членам данных, чтобы определить, изменяет ли функция какой-либо из членов данных. Функции, не изменяющие элементы данных, могут объявляться const.
Нарушение на const функция-член означает, что функция не обращается к члену данных класса и может быть объявлена статической.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Классы |
| Категория: Обязательно, Автоматизировано |