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