Строковые литералы не должны назначаться непостоянным указателям
Строковые литералы не должны назначаться указателям без константы.
Это правило препятствует назначениям строковых литералов указателям, которые указывают на не const
объекты. Такие назначения допускают последующее изменение строкового литерала.
Попытка изменить строковый литерал может привести к неопределенному поведению. Например, некоторые реализации могут хранить строковые литералы в памяти только для чтения. Попытка изменить строковый литерал может привести к исключению или сбою.
Более поздние стандарты C++ требуют предупреждения компилятора для таких модификаций. Правило действует для ситуаций, когда вы подавляете предупреждения компилятора (и правила AUTOSAR C++ 14, связанные с этими предупреждениями).
Средство проверки правил помечает назначение строковых литералов указателям, отличным от указателей на const
объекты.
Шашка не помечает назначение строковых литералов non - const
массивы. Шашка для AUTOSAR C++ 14 Rule A18-1-1
запрещает прямое использование массивов в стиле C и препятствует этим назначениям.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Выражения |
Категория: Необходимый, Автоматизированный |