MISRA C++:2008 Rule 2-13-1

Должны использоваться только те эвакуационные последовательности, которые определены в ISO/IEC 14882:2003

Описание

Определение правила

Должны использоваться только те эвакуационные последовательности, которые определены в стандарте ISO/IEC 14882:2003.

Объяснение

Escape-последовательности являются определенными специальными символами, представленными в строковых и символьных литералах. Они пишутся с обратной косой чертой (\), за которым следует символ.

Стандарт C++ (ISO/IEC 14882:2003, раздел 2.13.2) определяет список выходных последовательностей. См. «Эвакуационные последовательности». Использование escape-последовательностей (обратная косая черта, за которой следует символ) вне этого списка приводит к неопределенному поведению.

Дополнительное сообщение в отчете

Должны использоваться только те эвакуационные последовательности, которые определены в стандарте ISO/IEC 14882:2003.

\char не является выходной последовательностью ISO/IEC.

Поиск и устранение проблем

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Примеры

расширить все

void func () {
  const char a[2] = "\k"; //Noncompliant
  const char b[2] = "\b"; //Compliant
}

В этом примере \k не является распознанной выходной последовательностью.

Проверяйте информацию

Группа: Лексические конвенции
Категория: Требуемая
Введенный в R2013b