Тривиальные функции доступа и мутатора должны быть встроены
Тривиальные функции доступа и мутатора должны быть встроены.
Встроенные функции избегают служебных данных во время выполнения вызовов функций, но могут привести к возникновению запаха кода. Если метод accessor (getter) или mutator (setter) тривиален, двоение кода не является проблемой. Можно встроить эти методы, чтобы избежать ненужных накладных расходов на вызовы функций. Можно также избежать повторения нескольких синтаксических элементов внутри и вне определения класса.
Методы, заданные внутри классов, неявно рассматриваются как встроенные методы. Встроенные методы, заданные вне классов, можно явно использовать при помощи inline
ключевое слово.
Чтобы определить, является ли метод тривиальным, чекер использует следующие критерии:
Метод accessor тривиален, если он не имеет параметров и содержит один return
оператор, который возвращает нестатический представитель данных или ссылку на нестатический представитель данных.
Тип возврата метода должен точно совпадать или быть ссылкой на тип представителя данных.
Метод мутатора тривиален, если у него есть void
возвращает тип, один параметр, и содержит один оператор назначения, который присваивает параметр нестатическому представителю данных.
Тип параметра должен точно совпадать или быть ссылкой на тип представителя данных.
Шашечные флаги тривиального метода доступа и мутатора, заданные вне их классов без inline
ключевое слово.
Проверка не помечает методы шаблона или виртуальные методы.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Основные концепции |
Категория: Консультационные, Автоматизированные |