Строковый литерал не должен быть присвоен объекту, если тип объекта не будет “указателем на квалифицированный к const char”
Строковый литерал не должен быть присвоен объекту, если тип объекта не будет “указателем на квалифицированный к const char”.
Это правило предотвращает присвоения, которые позволяют модификацию строкового литерала.
Попытка изменить строковый литерал может привести к неопределенному поведению. Например, некоторые реализации могут сохранить строковые литералы в постоянной памяти. Попытка изменить строковый литерал может привести к исключению или катастрофическому отказу.
Средство проверки правила отмечает присвоение строковых литералов к:
Указатели с типом данных кроме const char*
.
Массивы с типом данных кроме const char
.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: литералы и константы |
Категория: необходимый |
Категория AGC: необходимый |
Check MISRA C:2012 (-misra3)
| MISRA C:2012 Rule 11.4
| MISRA C:2012 Rule 11.8