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