Если «оператор []» должен быть перегружен версией, отличной от const, также должна быть реализована версия const
Если «оператор []» должен быть перегружен версией, отличной от const, также должна быть реализована версия const.
Как правило, оператор подстрочного индекса перегружается operator[] обеспечивает доступ для чтения и записи к отдельным элементам массива или подобной структуры, содержащимся в классе. При реализации не-const перегрузка operator[], вы также должны реализовать const версия этой перегрузки. В противном случае использование невозможно operator[] для чтения элементов const объект.
Это правило позволяет реализовать const перегрузка operator[] для доступа только для чтения без соответствующего не-const перегрузка.
Polyspace ® помечает определение не-const функция-член, если нет соответствующей const реализована версия функции-члена.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Перегрузка |
| Категория: Обязательно, Автоматизировано |