Polyspace может проверить ваш код на соответствие правилам AUTOSAR C++ 14. Используйте Check AUTOSAR C++14 (-autosar-cpp14)
опция анализа для активации подмножеств правил.
AUTOSAR C++14 Rule A0-1-1 | Проект не должен содержать образцов энергонезависимых переменных с заданными значениями, которые впоследствии не используются |
AUTOSAR C++14 Rule A0-1-2 | Должно использоваться значение, возвращаемое функцией, имеющей непустой тип возврата, который не является перегруженным оператором |
AUTOSAR C++14 Rule A0-1-3 | Каждая функция, заданная в анонимном пространстве имен, или статическая функция с внутренним редактированием, или функция частного представителя, должна использоваться |
AUTOSAR C++14 Rule A0-1-4 | В невирусных функциях не должно быть неиспользованных именованных параметров |
AUTOSAR C++14 Rule A0-1-5 | Не должно быть неиспользованных именованных параметров в наборе параметров для виртуальной функции и всех функций, которые его переопределяют |
AUTOSAR C++14 Rule A0-1-6 | Не должно быть неиспользованных объявлений типов |
AUTOSAR C++14 Rule A0-4-2 | Тип длинный двойной не должен использоваться |
AUTOSAR C++14 Rule M0-1-1 | Проект не должен содержать недостижимый код |
AUTOSAR C++14 Rule M0-1-2 | Проект не должен содержать недопустимых путей |
AUTOSAR C++14 Rule M0-1-3 | Проект не должен содержать неиспользованных переменных |
AUTOSAR C++14 Rule M0-1-4 | Проект не должен содержать энергонезависимых переменных POD, имеющих только одно использование |
AUTOSAR C++14 Rule M0-1-9 | Мертвого кода не должно быть |
AUTOSAR C++14 Rule M0-1-10 | Каждая определенная функция должна вызываться по крайней мере один раз |
AUTOSAR C++14 Rule M0-2-1 | Объект не должен быть назначен перекрывающемуся объекту |
AUTOSAR C++14 Rule M0-3-2 | Если функция генерирует информацию об ошибке, эта информация об ошибке должна быть проверена |
AUTOSAR C++14 Rule A1-1-1 | Весь код должен соответствовать ISO/IEC 14882:2014 - Языку программирования C++ и не должен использовать устаревшие функции |
AUTOSAR C++14 Rule A2-3-1 | В исходном коде должны использоваться только символы, указанные в базовом наборе исходных символов стандарта C++ Language Standard. |
AUTOSAR C++14 Rule A2-5-1 | Триграфы не должны использоваться |
AUTOSAR C++14 Rule A2-5-2 | Диграф не должен использоваться |
AUTOSAR C++14 Rule A2-7-1 | Символ\не должен быть последним символом комментария C++ |
AUTOSAR C++14 Rule A2-7-2 | Разделы кода не должны «комментироваться» |
AUTOSAR C++14 Rule A2-7-3 | Всем объявлениям «определяемых пользователем» типов, статических и нестатических представителей данных, функций и методов должна предшествовать документация |
AUTOSAR C++14 Rule A2-8-1 | Имя файла заголовка должно отражать логическую сущность, для которого он предоставляет объявления. |
AUTOSAR C++14 Rule A2-8-2 | Имя файла реализации должно отражать логическую сущность, для которого оно предоставляет определения. |
AUTOSAR C++14 Rule A2-10-1 | Идентификатор, объявленный во внутренних возможностях, не должен скрывать идентификатор, объявленный во внешних возможностях |
AUTOSAR C++14 Rule A2-10-4 | Имя идентификатора объекта, не являющегося членом, со статической длительностью хранения или статическими функциями не должно повторно использоваться в пространстве имен |
AUTOSAR C++14 Rule A2-10-5 | Имя идентификатора функции со статической длительностью хранения или объекта, не являющегося членом, с внешними или внутренними редактированиями не должно использоваться повторно |
AUTOSAR C++14 Rule A2-10-6 | Имя класса или перечисления не должно быть скрыто объявлением переменной, функции или перечислителя в тех же возможностях |
AUTOSAR C++14 Rule A2-11-1 | Недопустимое ключевое слово не должно использоваться |
AUTOSAR C++14 Rule A2-13-1 | Должны использоваться только те эвакуационные последовательности, которые определены в ISO/IEC 14882:2014 |
AUTOSAR C++14 Rule A2-13-2 | Строковые литералы с различными префиксами кодирования не должны быть конкатенированы |
AUTOSAR C++14 Rule A2-13-3 | Тип wchar_t не должен использоваться |
AUTOSAR C++14 Rule A2-13-4 | Строковые литералы не должны назначаться непостоянным указателям |
AUTOSAR C++14 Rule A2-13-5 | Шестнадцатеричные константы должны быть верхними |
AUTOSAR C++14 Rule A2-13-6 | Универсальные имена символов должны использоваться только внутри символов или строковых литералов |
AUTOSAR C++14 Rule M2-7-1 | Последовательность символов/* не должна использоваться в комментарии C-стиля |
AUTOSAR C++14 Rule M2-10-1 | Различные идентификаторы должны быть типографски однозначными |
AUTOSAR C++14 Rule M2-13-2 | Восьмеричные константы (кроме нуля) и восьмеричные выходные последовательности (кроме «\0 ») не должны использоваться |
AUTOSAR C++14 Rule M2-13-3 | Суффикс «U» применяется ко всем восьмеричным или шестнадцатеричным целочисленным буквам беззнакового типа |
AUTOSAR C++14 Rule M2-13-4 | Буквальные суффиксы должны быть верхними |
AUTOSAR C++14 Rule A3-1-1 | Должно быть возможно включать любой заголовочный файл в несколько модули перевода, не нарушая правила единого определения |
AUTOSAR C++14 Rule A3-1-2 | Заголовочные файлы, которые определены локально в проекте, должны иметь расширение имени файла одного из: .h , .hpp или .hxx |
AUTOSAR C++14 Rule A3-1-3 | Файлы реализации, которые определены локально в проекте, должны иметь расширение имени файла. «cpp» |
AUTOSAR C++14 Rule A3-1-4 | Когда заявлен массив с внешним редактированием, ее размер должен быть указан явно |
AUTOSAR C++14 Rule A3-1-5 | Определение функции должно быть помещено в определение класса, только если (1) функция предназначена для встраивания (2) это представитель шаблон функции (3) это представитель функция шаблона класса |
AUTOSAR C++14 Rule A3-1-6 | Тривиальные функции доступа и мутатора должны быть встроены |
AUTOSAR C++14 Rule A3-3-1 | Объекты или функции с внешним редактированием (включая представители именованных пространств имен) должны быть объявлены в заголовочном файле |
AUTOSAR C++14 Rule A3-3-2 | Статические и локальные объекты с потоками должны быть инициализированы постоянно |
AUTOSAR C++14 Rule A3-8-1 | Доступ к объекту не допускается вне срока его службы |
AUTOSAR C++14 Rule A3-9-1 | Вместо базовых числовых типов должны использоваться целые типы фиксированной ширины от < cstdint >, указывающие на размер и сигнальность |
AUTOSAR C++14 Rule M3-1-2 | Функции не должны быть объявлены в блочных возможностях |
AUTOSAR C++14 Rule M3-2-1 | Все объявления объекта или функции должны иметь совместимые типы |
AUTOSAR C++14 Rule M3-2-2 | Правило единого определения не нарушается |
AUTOSAR C++14 Rule M3-2-3 | Тип, объект или функция, которая используется в нескольких модулях перевода, должны быть объявлены в одном и только одном файле |
AUTOSAR C++14 Rule M3-2-4 | Идентификатор с внешним редактированием должен иметь только одно определение |
AUTOSAR C++14 Rule M3-3-2 | Если функция имеет внутреннее редактирование, все повторные объявления должны включать в себя статический спецификатор класса памяти |
AUTOSAR C++14 Rule M3-4-1 | Идентификатор, объявленный как объект или тип, должен быть определен в блоке, который минимизирует его видимость |
AUTOSAR C++14 Rule M3-9-1 | Типы, используемые для объекта, типа возврата функции или параметра функции, должны быть идентичными token for-token во всех объявлениях и повторных объявлениях |
AUTOSAR C++14 Rule M3-9-3 | Базовые битовые представления значений с плавающей точкой не должны использоваться |
AUTOSAR C++14 Rule A4-5-1 | Выражения с типом enum или классом enum не должны использоваться как операнды для встроенных и перегруженных операторов, кроме оператора индекса [], оператора назначения =, операторов равенства = = и! =, унарного & оператора и реляционных операторов <, < =, >, > = |
AUTOSAR C++14 Rule A4-10-1 | В качестве ограничения null-указателя должен использоваться только литерал nullptr |
AUTOSAR C++14 Rule M4-5-1 | Выражения с типом bool не должны использоваться как операнды для встроенных операторов, кроме оператора назначения =, логических операторов &, ||,!, операторов равенства = = и! =, унарного & оператора и условного оператора |
AUTOSAR C++14 Rule M4-5-3 | Выражения с типом (обычным) char и wchar_t не должны использоваться как операнды для встроенных операторов, кроме оператора назначения =, операторов равенства = = и! =, и унарного & оператора |
AUTOSAR C++14 Rule M4-10-1 | Значение NULL не должно использоваться в качестве целого числа |
AUTOSAR C++14 Rule M4-10-2 | Буквальный нуль (0) не должен использоваться в качестве нуль-указателя-константы |
AUTOSAR C++14 Rule A5-0-1 | Значение выражения должно быть тем же самым в любом порядке оценки, который разрешает стандарт |
AUTOSAR C++14 Rule A5-0-2 | Условие оператора if и условие оператора итерации должны иметь тип bool |
AUTOSAR C++14 Rule A5-0-3 | Объявление объектов должно содержать не более двух уровней опосредования указателя |
AUTOSAR C++14 Rule A5-0-4 | Арифметика указателя не должна использоваться с указателями на нефинальные классы |
AUTOSAR C++14 Rule A5-1-1 | Буквальные значения не должны использоваться отдельно от инициализации типа, в противном случае вместо них должны использоваться символические имена |
AUTOSAR C++14 Rule A5-1-2 | Переменные не должны быть неявно захвачены в лямбда выражении |
AUTOSAR C++14 Rule A5-1-3 | Список параметров (возможно, пустой) должен быть включен в каждое лямбда выражение |
AUTOSAR C++14 Rule A5-1-4 | Объект лямбда-выражения не должен пережить ни один из захваченных ссылками объектов |
AUTOSAR C++14 Rule A5-1-6 | Необходимо явным образом задать возвращаемый тип недействительного лямбда-выражения возвращаемого типа |
AUTOSAR C++14 Rule A5-1-7 | Лямбда не должна быть операндом для объявления типа или типа |
AUTOSAR C++14 Rule A5-1-8 | Лямбда-выражения не должны быть определены в другом лямбда-выражении |
AUTOSAR C++14 Rule A5-1-9 | Идентичные безымянные выражения лямбды должны быть заменены на именованную функцию или именованное лямбда-выражение |
AUTOSAR C++14 Rule A5-2-1 | dynamic_cast не следует использовать |
AUTOSAR C++14 Rule A5-2-2 | Традиционные отливки в стиле С не должны использоваться |
AUTOSAR C++14 Rule A5-2-3 | Приведение не должно удалять какую-либо несовпадающую или изменчивую проверку из типа указателя или ссылки |
AUTOSAR C++14 Rule A5-2-4 | reinterpret_cast не должны использоваться |
AUTOSAR C++14 Rule A5-2-6 | Операнды логического && или || должны быть скобками, если операнды содержат бинарные операторы |
AUTOSAR C++14 Rule A5-3-1 | Оценка операнда оператору typeid не должна содержать побочных эффектов |
AUTOSAR C++14 Rule A5-3-2 | Нулевые указатели не должны быть разберутся |
AUTOSAR C++14 Rule A5-3-3 | Указатели на неполные типы классов не должны удаляться |
AUTOSAR C++14 Rule A5-6-1 | Операнд правой руки целочисленного деления или остальных операторов не должен равняться нулю |
AUTOSAR C++14 Rule A5-10-1 | Указатель на представителя виртуальную функцию должен быть проверен только на равенство с null-указателем-константой |
AUTOSAR C++14 Rule A5-16-1 | Троичный условный оператор не должен использоваться в качестве подмножества |
AUTOSAR C++14 Rule M5-0-2 | Ограниченная зависимость должна быть помещена в правила приоритета оператора C++ в выражениях |
AUTOSAR C++14 Rule M5-0-3 | Выражение cvalue не должно неявно преобразовываться в другой базовый тип |
AUTOSAR C++14 Rule M5-0-4 | Неявное интегральное преобразование не должно изменять сигнальность базового типа |
AUTOSAR C++14 Rule M5-0-5 | Не должно быть неявных преобразований с плавающим интегралом |
AUTOSAR C++14 Rule M5-0-6 | Неявное интегральное преобразование или преобразование с плавающей точкой не должно уменьшать размер базового типа |
AUTOSAR C++14 Rule M5-0-7 | Не должно быть явных плавающих-интегральных преобразований выражения cvalue |
AUTOSAR C++14 Rule M5-0-8 | Явное интегральное преобразование или преобразование с плавающей точкой не должно увеличивать размер базового типа выражения cvalue |
AUTOSAR C++14 Rule M5-0-9 | Явное интегральное преобразование не должно изменять сигнальность базового типа выражения cvalue |
AUTOSAR C++14 Rule M5-0-10 | Если побитовые операторы ~ и < < применяются к операнду с базовым типом беззнакового char или беззнакового short, результат должен быть немедленно приведен к базовому типу операнда |
AUTOSAR C++14 Rule M5-0-11 | Обычный тип char должен использоваться только для хранения и использования значений символов |
AUTOSAR C++14 Rule M5-0-12 | Подписанные char и беззнаковый тип char должны использоваться только для хранения и использования числовых значений |
AUTOSAR C++14 Rule M5-0-14 | Первый операнд условного оператора должен иметь тип bool |
AUTOSAR C++14 Rule M5-0-15 | Индексация массива должна быть единственной формой арифметики указателя |
AUTOSAR C++14 Rule M5-0-16 | Операнд указателя и любой указатель, полученный из арифметики указателя, использующей этот операнд, должны оба адресовать элементы одного массива |
AUTOSAR C++14 Rule M5-0-17 | Вычитание между указателями должно применяться только к указателям, которые адресуют элементы одного массива |
AUTOSAR C++14 Rule M5-0-18 | >, > =, <, < = не должны применяться к объектам типа указателя, кроме тех случаев, когда они указывают на один и тот же массив |
AUTOSAR C++14 Rule M5-0-20 | Непостоянные операнды двоичному побитовому оператору должны иметь тот же базовый тип |
AUTOSAR C++14 Rule M5-0-21 | Битовые операторы должны применяться только к операндам неподписанного базового типа |
AUTOSAR C++14 Rule M5-2-2 | Указатель на виртуальный базовый класс должен быть приведен только к указателю на производный класс посредством dynamic_cast |
AUTOSAR C++14 Rule M5-2-3 | Приведения из базового класса в производный класс не должны выполняться для полиморфных типов |
AUTOSAR C++14 Rule M5-2-6 | Приведение не должно преобразовывать указатель в функцию в любой другой тип указателя, включая указатель на тип функции |
AUTOSAR C++14 Rule M5-2-8 | Объект с целым типом или указатель на пустой тип не должен преобразовываться в объект с типом указателя |
AUTOSAR C++14 Rule M5-2-9 | Приведение не должно преобразовывать тип указателя в интегральный тип |
AUTOSAR C++14 Rule M5-2-10 | Операторы шага (+ +) и декремента (--) не должны смешиваться с другими операторами в выражении |
AUTOSAR C++14 Rule M5-2-11 | Оператор запятыми, & & оператор и оператор || не должны быть перегружены |
AUTOSAR C++14 Rule M5-2-12 | Идентификатор с типом массива, переданный как аргумент функции, не должен распадаться на указатель |
AUTOSAR C++14 Rule M5-3-1 | Каждый операнд! оператор, логический & & или логический || операторы должны иметь тип bool |
AUTOSAR C++14 Rule M5-3-2 | Оператор унарного минуса не применяется к выражению, базовый тип которого не подписан |
AUTOSAR C++14 Rule M5-3-3 | Унарный & оператор не должен быть перегружен |
AUTOSAR C++14 Rule M5-3-4 | Оценка операнда оператору размера не должна содержать побочных эффектов |
AUTOSAR C++14 Rule M5-8-1 | Операнд правой руки оператора сдвига должен лежать между нулем и на единицу меньше ширины в битах базового типа операнда левой руки |
AUTOSAR C++14 Rule M5-14-1 | Операнд правой руки логического & &, || операторов не должен содержать побочных эффектов |
AUTOSAR C++14 Rule M5-18-1 | Оператор запятыми не должен использоваться |
AUTOSAR C++14 Rule M5-19-1 | Оценка постоянных беззнаковых целочисленных выражений не должна приводить к переносу |
AUTOSAR C++14 Rule A6-2-1 | Операторы назначения перемещения и копирования должны либо перемещать, либо соответственно копировать базовые классы и представители данных класса без каких-либо побочных эффектов |
AUTOSAR C++14 Rule A6-2-2 | Операторы выражения не должны быть явными вызовами только конструкторов временных объектов |
AUTOSAR C++14 Rule A6-4-1 | Оператор switch должен иметь по крайней мере два положения, отличных от метки по умолчанию |
AUTOSAR C++14 Rule A6-5-2 | Цикл for должен содержать один контур-счетчик, который не должен иметь тип с плавающей точкой |
AUTOSAR C++14 Rule A6-5-3 | Операторы Do не должны использоваться |
AUTOSAR C++14 Rule A6-5-4 | Оператор for-init и выражение не должны выполнять действия, кроме инициализации и изменения счетчика цикла |
AUTOSAR C++14 Rule A6-6-1 | Оператор goto не должен использоваться |
AUTOSAR C++14 Rule M6-2-1 | Операторы назначения не должны использоваться в подмножествах |
AUTOSAR C++14 Rule M6-2-2 | Выражения с плавающей точкой не должны быть прямо или косвенно проверены на равенство или неравенство |
AUTOSAR C++14 Rule M6-2-3 | Перед предварительной обработкой нулевой оператор должно происходить только в линии само по себе; за ним может последовать комментарий при условии, что первый символ, следующий за оператором null, является символом белого пространства |
AUTOSAR C++14 Rule M6-3-1 | Оператор, образующий тело переключателя, в то время как, сделать... в то время как или для оператора должно быть составной оператор |
AUTOSAR C++14 Rule M6-4-1 | За конструкцией if (условие) следует составной оператор. За другим ключевым словом следует либо составной оператор, либо другой оператор if |
AUTOSAR C++14 Rule M6-4-2 | Все, если... другое, если конструкции должны быть завершены с помощью предложения else |
AUTOSAR C++14 Rule M6-4-3 | Оператор switch должен быть хорошо сформированным оператором switch |
AUTOSAR C++14 Rule M6-4-4 | Метка switch-label должна использоваться только в том случае, если наиболее тесно связанный составной оператор является телом оператора switch |
AUTOSAR C++14 Rule M6-4-5 | Оператор безоговорочного переключения или пропуска прекращает действие каждого пункта о непустом переключателе |
AUTOSAR C++14 Rule M6-4-6 | Конечным пунктом оператора switch является положение по умолчанию |
AUTOSAR C++14 Rule M6-4-7 | Условие оператора switch не должно иметь типа bool |
AUTOSAR C++14 Rule M6-5-2 | Если счетчик цикла не изменяется -- или++, то в пределах условия счетчик цикла должен использоваться только в качестве операнда на < =, <, > или > = |
AUTOSAR C++14 Rule M6-5-3 | Счетчик цикла не должен быть изменен в пределах условия или оператора |
AUTOSAR C++14 Rule M6-5-4 | Счетчик цикла должен быть изменен одним из: --, + +, - = n или + = n; где n остается постоянным для длительности цикла |
AUTOSAR C++14 Rule M6-5-5 | Переменная цикла-управления, отличная от счетчика цикла, не должна изменяться в рамках условия или выражения |
AUTOSAR C++14 Rule M6-5-6 | Переменная loop-control, отличная от счетчика loop-counter, измененная в операторе, должна иметь тип bool |
AUTOSAR C++14 Rule M6-6-1 | Любая метка, на которую ссылается оператор goto, должна быть объявлена в том же блоке или в блоке, содержащем оператор goto |
AUTOSAR C++14 Rule M6-6-2 | Оператор goto должен перейти к метке, объявленной позже в том же теле функции |
AUTOSAR C++14 Rule M6-6-3 | Оператор продолжения должен использоваться только в хорошо сформированном цикле for |
AUTOSAR C++14 Rule A7-1-1 | Спецификаторы Constexpr или const должны использоваться для неизменяемого объявления данных |
AUTOSAR C++14 Rule A7-1-2 | Спецификатор constexpr должен использоваться для значений, которые могут быть определены во время компиляции |
AUTOSAR C++14 Rule A7-1-3 | CV-классификаторы должны быть размещены на правой стороне типа, который является typedef или использовать имя |
AUTOSAR C++14 Rule A7-1-4 | Ключевое слово регистра не должно использоваться |
AUTOSAR C++14 Rule A7-1-5 | Автоматический спецификатор не должно использоваться отдельно от следующих случаев: (1) объявить, что переменная имеет тот же тип, что и возвращаемый тип вызова функции, (2) объявить, что переменная имеет тот же тип, что и инициализатор неосновного типа, (3) объявить параметры типового лямбда-выражения, (4) объявить шаблон функции с помощью конечного синтаксиса типа возврата |
AUTOSAR C++14 Rule A7-1-6 | Спецификатор typedef не должен использоваться |
AUTOSAR C++14 Rule A7-1-7 | Каждый оператор выражения и объявление идентификатора помещаются в отдельную линию |
AUTOSAR C++14 Rule A7-1-8 | Спецификатор, не относящийся к типу, помещается перед спецификатором типа в объявлении |
AUTOSAR C++14 Rule A7-1-9 | Класс, структура или перечисление не должны быть объявлены в определении его типа |
AUTOSAR C++14 Rule A7-2-2 | Перечисление базового типа должно быть четко определено |
AUTOSAR C++14 Rule A7-2-3 | Перечисления должны быть объявлены как отсчитываемые классы перечисления |
AUTOSAR C++14 Rule A7-2-4 | В перечислении либо (1) нет, либо (2) первый, либо (3) все перечислители должны быть инициализированы |
AUTOSAR C++14 Rule A7-3-1 | Все перегрузки функции должны быть видны, откуда она вызывается |
AUTOSAR C++14 Rule A7-5-1 | Функция не должна возвращать ссылку или указатель на параметр, который передается ссылкой на const |
AUTOSAR C++14 Rule A7-5-2 | Функции не должны вызывать себя, прямо или косвенно |
AUTOSAR C++14 Rule A7-6-1 | Функции, объявленные с атрибутом [[noreturn]], не возвращаются |
AUTOSAR C++14 Rule M7-1-2 | Указатель или ссылочный параметр в функции должны быть объявлены как указатель на const или ссылка на const, если соответствующий объект не изменен |
AUTOSAR C++14 Rule M7-3-1 | Глобальное пространство имен должно содержать только основные объявления пространства имен и внешние объявления «C» |
AUTOSAR C++14 Rule M7-3-2 | Основной идентификатор не должен использоваться для функции, отличной от основной глобальной функции |
AUTOSAR C++14 Rule M7-3-3 | В файлах заголовков не должно быть неназванных пространств имен |
AUTOSAR C++14 Rule M7-3-4 | Использование-директивы не должно использоваться |
AUTOSAR C++14 Rule M7-3-6 | Using-directives и using-declarations (исключая class scope или function scope using-declarations) не должны использоваться в файлах заголовка |
AUTOSAR C++14 Rule A7-4-1 | Декларация asm не должна использоваться |
AUTOSAR C++14 Rule M7-4-2 | Инструкции ассемблера должны вводиться только с помощью объявления asm |
AUTOSAR C++14 Rule M7-4-3 | Язык сборки должен быть инкапсулирован и изолирован |
AUTOSAR C++14 Rule M7-5-1 | Функция не должна возвращать ссылку или указатель на автоматическую переменную (включая параметры), заданную в функции |
AUTOSAR C++14 Rule M7-5-2 | Адрес объекта с автоматическим хранением не должен быть присвоен другому объекту, который может сохраняться после прекращения существования первого объекта |
AUTOSAR C++14 Rule A8-2-1 | При объявлении шаблонов функций используется конечный синтаксис типа возврата, если тип возврата зависит от типа параметров |
AUTOSAR C++14 Rule A8-4-1 | Функции не должны определяться с помощью эллипсиса обозначения |
AUTOSAR C++14 Rule A8-4-2 | Все выходные пути из функции с непустым типом возврата должны иметь явный оператор возврата с выражением |
AUTOSAR C++14 Rule A8-4-4 | Несколько выходных значений от функции должны быть возвращены как struct или кортеж |
AUTOSAR C++14 Rule A8-4-5 | параметры «потреблять», объявленные как X & &, всегда должны быть перемещены из |
AUTOSAR C++14 Rule A8-4-6 | «форвардные» параметры, объявленные как T & & должны всегда пересылаться |
AUTOSAR C++14 Rule A8-4-7 | Параметры «in» для типов «cheap to copy» должны передаваться по значению |
AUTOSAR C++14 Rule A8-4-8 | Выходные параметры не должны использоваться |
AUTOSAR C++14 Rule A8-4-9 | параметры «in-out», объявленные как T & должны быть изменены |
AUTOSAR C++14 Rule A8-4-10 | Параметр передается по ссылке, если он не может быть NULL |
AUTOSAR C++14 Rule A8-4-14 | Интерфейсы должны быть точно и строго типизированы |
AUTOSAR C++14 Rule A8-5-0 | Вся память должна быть инициализирована до ее чтения |
AUTOSAR C++14 Rule A8-5-1 | В списке инициализации порядок инициализации должен быть следующим: (1) виртуальные базовые классы в глубине и слева направо от графика наследования, (2) прямые базовые классы в порядке слева направо от списка наследования, (3) нестатические представители данных в том порядке, в котором они были объявлены в определении класса |
AUTOSAR C++14 Rule A8-5-2 | Для переменной инициализации следует использовать скобку-инициализацию {} без знака equals |
AUTOSAR C++14 Rule A8-5-4 | Если у класса есть объявленный пользователем конструктор, который принимает параметр типа std::initializer_list, то он должен быть единственным конструктором, кроме конструкторов функций специальных представителей |
AUTOSAR C++14 Rule A8-5-3 | Переменная типа auto не должна быть инициализирована с помощью {} или = {} braced-initialization |
AUTOSAR C++14 Rule M8-0-1 | init-declarator-list или member-declator-list должны состоять из одного init-declarator или member-declarator соответственно |
AUTOSAR C++14 Rule M8-3-1 | Параметры в переопределяющей виртуальной функции должны либо использовать те же аргументы по умолчанию, что и функция, которую они переопределяют, либо не должны задавать какие-либо аргументы по умолчанию |
AUTOSAR C++14 Rule M8-4-2 | Идентификаторы, используемые для параметров в повторном объявлении функции, должны быть идентичны идентификаторам в объявлении |
AUTOSAR C++14 Rule M8-4-4 | Идентификатор функции должен либо использоваться для вызова функции, либо ему должны предшествовать & |
AUTOSAR C++14 Rule M8-5-2 | Скобки должны использоваться для указания и соответствия структуры в ненулевой инициализации массивов и структур |
AUTOSAR C++14 Rule A9-3-1 | Представители функции не должны возвращать неконстатные «необработанные» указатели или ссылки на частные или защищенные данные, принадлежащие классу |
AUTOSAR C++14 Rule A9-5-1 | Объединения не должны использоваться |
AUTOSAR C++14 Rule A9-6-1 | Типы данных, используемые для взаимодействия с оборудованием или соответствия протоколам связи, должны быть тривиальными, стандартными и содержать только представителей типов с заданными размерами |
AUTOSAR C++14 Rule M9-3-1 | Функции Const представителя не должны возвращать неконстатные указатели или ссылки на данные классов |
AUTOSAR C++14 Rule M9-3-3 | Если функция представителя может быть сделана статической, то она должна быть сделана статической, в противном случае, если она может быть сделана const, то она должна быть сделана const |
AUTOSAR C++14 Rule M9-6-4 | Именованные битовые поля со знаком целого типа должны иметь длину более одного бита |
AUTOSAR C++14 Rule A10-1-1 | Класс не должен быть получен из более чем одного базового класса, который не является классом интерфейса |
AUTOSAR C++14 Rule A10-2-1 | Невирусные функции общего или защищенного представителя не должны переопределяться в производных классах |
AUTOSAR C++14 Rule A10-3-1 | Объявление виртуальной функции должно содержать только один из трех спецификаторов: (1) виртуальный, (2) переопределение, (3) окончательный |
AUTOSAR C++14 Rule A10-3-2 | Каждая переопределяющая виртуальная функция должна быть объявлена с переопределением или конечным спецификатором |
AUTOSAR C++14 Rule A10-3-3 | Виртуальные функции не должны вводиться в окончательный класс |
AUTOSAR C++14 Rule A10-3-5 | Определяемый пользователем оператор назначения не должен быть виртуальным |
AUTOSAR C++14 Rule M10-1-1 | Классы не должны быть выведены из виртуальных основ |
AUTOSAR C++14 Rule M10-1-2 | Базовый класс должен быть объявлен виртуальным, только если он используется в иерархии алмазов |
AUTOSAR C++14 Rule M10-1-3 | Доступный базовый класс не должен быть как виртуальным, так и невирусным в одной иерархии |
AUTOSAR C++14 Rule M10-2-1 | Все доступные имена сущностей в множественной иерархии наследования должны быть уникальными |
AUTOSAR C++14 Rule M10-3-3 | Виртуальная функция должна быть переопределена только чистой виртуальной функцией, если она сама объявлена как чистая виртуальная |
AUTOSAR C++14 Rule A11-0-1 | Тип, отличный от POD, должен быть определен как класс |
AUTOSAR C++14 Rule A11-0-2 | Тип, определяемый как struct, должен: (1) обеспечивать только представителей общедоступных данных, (2) не предоставлять никаких специальных функций или методов представителей, (3) не быть основой другого struct или класса, (4) не наследовать от другого struct или класса |
AUTOSAR C++14 Rule A11-3-1 | Декларации друзей не должны использоваться |
AUTOSAR C++14 Rule M11-0-1 | Данные представителей в типах классов, отличных от POD, должны быть частными |
AUTOSAR C++14 Rule A12-0-1 | Если класс объявляет операцию копирования или перемещения или деструктор либо через «= default», «= delete» или через предоставленное пользователем объявление, то все остальные из этих пяти специальных функций-членов также должны быть объявлены |
AUTOSAR C++14 Rule A12-0-2 | Побитовые операции и операции, предполагающие представление данных в памяти, не должны выполняться на объектах |
AUTOSAR C++14 Rule A12-1-1 | Конструкторы должны явно инициализировать все виртуальные базовые классы, все прямые невирусные базовые классы и все нестатические представители данных |
AUTOSAR C++14 Rule A12-1-2 | И NSDMI, и нестатический инициализатор представителей в конструкторе не должны использоваться в одном типе |
AUTOSAR C++14 Rule A12-1-4 | Все конструкторы, которые могут вызываться с одним аргументом основного типа, должны быть объявлены явными |
AUTOSAR C++14 Rule A12-1-6 | Производные классы, которые не нуждаются в дальнейшей явной инициализации и требуют, чтобы все конструкторы из базового класса использовали наследующие конструкторы |
AUTOSAR C++14 Rule A12-4-1 | Деструктор базового класса должен быть общедоступным виртуальным, общедоступным или защищенным невирусным |
AUTOSAR C++14 Rule A12-4-2 | Если публичный деструктор класса не является виртуальным, то класс должен быть объявлен окончательным |
AUTOSAR C++14 Rule A12-6-1 | Все представители данных классов, инициализируемые конструктором, должны быть инициализированы с помощью инициализаторов представителей |
AUTOSAR C++14 Rule A12-8-1 | Конструкторы перемещения и копирования должны перемещать и соответственно копировать базовые классы и представители данных класса без каких-либо побочных эффектов |
AUTOSAR C++14 Rule A12-8-2 | Определяемые пользователем операторы копирования и переноса должны использовать определяемую пользователем функцию no-throw swap |
AUTOSAR C++14 Rule A12-8-3 | Перемещенный из объекта не должен быть получен доступ для чтения |
AUTOSAR C++14 Rule A12-8-4 | Конструктор Move не должен инициализировать свои члены класса и базовые классы, используя семантику копирования |
AUTOSAR C++14 Rule A12-8-5 | Операторы присвоения копий и назначения на перемещение должны выполнять самоопределение |
AUTOSAR C++14 Rule A12-8-6 | Копирование и перемещение конструкторов, а также копирование и перемещение операторов назначения должны быть объявлены защищенными или определены «= delete» в базовом классе |
AUTOSAR C++14 Rule A12-8-7 | Операторы назначения должны быть объявлены с помощью ref-qualifier & |
AUTOSAR C++14 Rule M12-1-1 | Динамический тип объекта не должен использоваться из тела его конструктора или деструктора |
AUTOSAR C++14 Rule A13-1-2 | Определяемые пользователем суффиксы пользовательских операторов литералов должны начинаться с подчеркивания, за которым следует одна или несколько букв |
AUTOSAR C++14 Rule A13-2-1 | Оператор назначения возвращает ссылку на «this» |
AUTOSAR C++14 Rule A13-2-3 | Реляционный оператор должен вернуть логическое значение |
AUTOSAR C++14 Rule A13-5-1 | Если «оператор []» должен быть перегружен неконстовой версией, также должна быть реализована версия const |
AUTOSAR C++14 Rule A13-5-2 | Все пользовательские операторы преобразования должны быть четко определены |
AUTOSAR C++14 Rule A13-5-3 | Пользовательские операторы преобразования не должны использоваться |
AUTOSAR C++14 Rule A13-5-5 | Операторы сравнения должны быть не входящими в состав функциями с идентичными типами параметров и noexcept |
AUTOSAR C++14 Rule A13-6-1 | Разделители последовательностей цифр 'должны использоваться только следующим образом: (1) для десятичных чисел, каждые 3 цифры, (2) для шестнадцатеричных знаков, каждые 2 цифры, (3) для двоичных знаков, каждые 4 цифры |
AUTOSAR C++14 Rule A14-5-2 | Члены класса, которые не зависят от параметров класса шаблона, должны быть определены в отдельном базовом классе |
AUTOSAR C++14 Rule A14-5-3 | Типовой оператор, не являющийся членом, должен быть объявлен только в пространстве имен, которое не содержит тип класса (struct), тип перечисления или объявления типа объединения |
AUTOSAR C++14 Rule A14-7-2 | Специализация шаблона должна быть объявлена в том же файле (1), что и основной шаблон (2), как определяемый пользователем тип, для которого заявлена специализация |
AUTOSAR C++14 Rule A14-8-2 | Явные специализации шаблонов функций не должны использоваться |
AUTOSAR C++14 Rule M14-5-3 | Оператор назначения копии объявляется, когда существует оператор назначения шаблона с параметром, который является типовым параметром |
AUTOSAR C++14 Rule M14-6-1 | В шаблоне класса с зависимой основой любое имя, которое может быть найдено в этой зависимой основе, должно упоминаться с использованием квалифицированного идентификатора или this- > |
AUTOSAR C++14 Rule A15-1-1 | Следует выдавать только образцы типов, полученных из исключения std:: |
AUTOSAR C++14 Rule A15-1-2 | Объект исключения не должен быть указателем |
AUTOSAR C++14 Rule A15-1-3 | Все выданные исключения должны быть уникальными |
AUTOSAR C++14 Rule A15-2-1 | Конструкторы, которые не являются noexcept, не должны вызываться до запуска программы |
AUTOSAR C++14 Rule A15-3-3 | Основная функция и основная функция задачи должны захватывать как минимум: исключения базового класса из всех используемых сторонних библиотек, std:: исключение и все необработанные исключения |
AUTOSAR C++14 Rule A15-3-4 | Обработчики catch-all (ellipsis и std:: exception) должны использоваться только в (a) основных, (b) основных функциях задачи, (c) в функциях, которые должны изолировать независимые компоненты и (d) при вызове стороннего кода, который использует исключения не согласно рекомендациям AUTOSAR C++ 14 |
AUTOSAR C++14 Rule A15-3-5 | Исключение типа класса должно быть получено путем ссылки или const |
AUTOSAR C++14 Rule A15-4-1 | Динамические технические условия на исключения не должны использоваться |
AUTOSAR C++14 Rule A15-4-2 | Если функция объявлена как noexcept, noexcept (true) или noexcept (< true condition >), то она не должна выходить за исключением |
AUTOSAR C++14 Rule A15-4-3 | Спецификация noexcept функции должна быть либо идентичной во всех модулях перевода, либо идентичной или более ограничительной между функцией виртуального представитель и переопределителем |
AUTOSAR C++14 Rule A15-4-4 | Объявление функции отсутствия метания должно содержать спецификацию noexcept |
AUTOSAR C++14 Rule A15-5-1 | Все предоставляемые пользователем деструкторы классов, функции деаллокации, конструкторы переноса, операторы назначения перемещений и функции подкачки не должны выходить за исключением. Спецификация исключения noexcept должна быть добавлена к этим функциям по мере необходимости |
AUTOSAR C++14 Rule A15-5-3 | Функция std:: terminate () не должна вызываться неявно |
AUTOSAR C++14 Rule M15-0-3 | Управление не должно передаваться в блок try или catch с помощью goto или оператора switch |
AUTOSAR C++14 Rule M15-1-1 | Назначение-выражение оператора throw само по себе не должно вызывать выдачу исключения |
AUTOSAR C++14 Rule M15-1-2 | Значение NULL не должно передаваться явным образом |
AUTOSAR C++14 Rule M15-1-3 | Пустой бросок (throw;) должен использоваться только в составном операторе обработчика catch |
AUTOSAR C++14 Rule M15-3-1 | Исключения должны быть высказаны только после запуска и до окончания |
AUTOSAR C++14 Rule M15-3-3 | Обработчики реализации function-try-block конструктора класса или деструктора не должны ссылаться на нестатические представители из этого класса или его основ |
AUTOSAR C++14 Rule M15-3-4 | Каждое исключение, явно выданное в коде, должно иметь обработчик совместимого типа во всех путях вызова, который может привести к этой точке |
AUTOSAR C++14 Rule M15-3-6 | Если несколько обработчиков предусмотрены в одном операторе try-catch или function-try-блоке для производного класса и некоторых или всех его основ, обработчики должны быть упорядочены наиболее производным к базовому классу |
AUTOSAR C++14 Rule M15-3-7 | В случае, когда в одном операторе try-catch или в блоке function-try-block предусмотрено несколько обработчиков, любой обработчик многоточия (catch-all) должен происходить последним |
AUTOSAR C++14 Rule A16-0-1 | Препроцессор должен использоваться только для безусловного и условного включения файлов и включать в себя охрану, и использовать конкретные директивы |
AUTOSAR C++14 Rule A16-2-1 | Символы ', ",/* ,//,\не должны присутствовать в имени файла заголовка или в директиве # include |
AUTOSAR C++14 Rule A16-6-1 | Директива # ошибка не должна использоваться |
AUTOSAR C++14 Rule A16-7-1 | Директива # pragma не должна использоваться |
AUTOSAR C++14 Rule M16-0-1 | # включить директивы в файл должны предшествовать только другие предпроцессорные директивы или комментарии |
AUTOSAR C++14 Rule M16-0-2 | Макросы должны быть только # defined d или # undef d в глобальном пространстве имен |
AUTOSAR C++14 Rule M16-0-5 | Аргументы в функциональный макрос не должны содержать лексемы, которые выглядят как директивы предварительной обработки |
AUTOSAR C++14 Rule M16-0-6 | В определении функционального макроса каждый образец параметра должен быть заключен в круглые скобки, если он не используется в качестве операнда # или # # |
AUTOSAR C++14 Rule M16-0-7 | Неопределенные идентификаторы макросов не должны использоваться в предпроцессорных директивах # if или # elif, за исключением операндов определенному оператору |
AUTOSAR C++14 Rule M16-0-8 | Если лексема # появляется в качестве первой лексемы в линии, то за ним немедленно следует предварительно обработанный лексема |
AUTOSAR C++14 Rule M16-1-1 | Определенный предпроцессорный оператор должен использоваться только в одной из двух стандартных форм |
AUTOSAR C++14 Rule M16-1-2 | Все # else, # elif и # endif предпроцессорные директивы должны находиться в том же файле, что и директива # if или # ifdef, с которой они связаны |
AUTOSAR C++14 Rule M16-2-3 | Предусмотреть охрану |
AUTOSAR C++14 Rule M16-3-1 | Должно быть не более одного вхождения операторов # или # # в одном определении макроса |
AUTOSAR C++14 Rule M16-3-2 | Операторы # и # не должны использоваться |
AUTOSAR C++14 Rule A17-0-1 | Зарезервированные идентификаторы, макросы и функции в стандартной библиотеке C++ не должны быть определены, переопределены или неопределены |
AUTOSAR C++14 Rule A17-6-1 | Нестандартные сущности не должны добавляться в стандартные пространства имен |
AUTOSAR C++14 Rule M17-0-2 | Имена стандартных библиотечных макросов и объектов не должны повторно использоваться |
AUTOSAR C++14 Rule M17-0-3 | Имена стандартных библиотечных функций не должны быть переопределены |
AUTOSAR C++14 Rule M17-0-5 | Макрос setjmp и функция longjmp не должны использоваться |
AUTOSAR C++14 Rule A18-0-1 | Доступ к средствам библиотеки C осуществляется только через заголовки библиотеки C++ |
AUTOSAR C++14 Rule A18-0-2 | Состояние ошибки преобразования из строки в числовое значение должно быть проверено |
AUTOSAR C++14 Rule A18-0-3 | Библиотека < clocale > (locale.h) и функция setlocale не должны использоваться |
AUTOSAR C++14 Rule A18-1-1 | Массивы в стиле C не должны использоваться |
AUTOSAR C++14 Rule A18-1-2 | Специализация std:: vector < bool > не должна использоваться |
AUTOSAR C++14 Rule A18-1-3 | Использование std::auto_ptr не допускается |
AUTOSAR C++14 Rule A18-1-6 | Все специализации std:: hash для определяемых пользователем типов должны иметь оператора вызова функции noexcept |
AUTOSAR C++14 Rule A18-5-1 | Функции malloc, calloc, realloc и free не должны использоваться |
AUTOSAR C++14 Rule A18-5-2 | Выражения без размещения или удаления не должны использоваться |
AUTOSAR C++14 Rule A18-5-3 | Форма оператора удаления должна совпадать с формой нового оператора, используемого для выделения памяти |
AUTOSAR C++14 Rule A18-5-4 | Если проект имеет размерную или негабаритную версию оператора 'delete', глобально определенную, то должны быть определены как размерную, так и негабаритную версии |
AUTOSAR C++14 Rule A18-5-9 | Пользовательские реализации функций динамического выделения и удаления памяти должны отвечать семантическим требованиям, указанным в соответствующем пункте «Необходимое поведение» стандарта C++ |
AUTOSAR C++14 Rule A18-5-10 | Размещение нового должно использоваться только с правильно совмещенными указателями на достаточную емкость хранилища |
AUTOSAR C++14 Rule A18-5-11 | «оператор new» и «оператор delete» должны определяться вместе |
AUTOSAR C++14 Rule A18-9-1 | std:: bind не должен использоваться |
AUTOSAR C++14 Rule A18-9-2 | Переадресация значений на другие функции осуществляется через: (1) std:: move, если значение является ссылкой rvalue, (2) std:: forward, если значение является ссылкой на переадресацию |
AUTOSAR C++14 Rule A18-9-3 | Перемещение std:: не должно использоваться на объектах, объявленных const или const & |
AUTOSAR C++14 Rule A18-9-4 | Аргумент std:: forward не используется впоследствии |
AUTOSAR C++14 Rule M18-0-3 | Функции библиотеки abort, exit, getenv и система из библиотеки < cstdlib > не должны использоваться |
AUTOSAR C++14 Rule M18-0-4 | Функции обработки времени библиотеки < ctime > не должны использоваться |
AUTOSAR C++14 Rule M18-0-5 | Неограниченные функции библиотеки < cstring > не должны использоваться |
AUTOSAR C++14 Rule M18-2-1 | Смещение макроса не должно использоваться |
AUTOSAR C++14 Rule M18-7-1 | Средства обработки сигналов < csignal > не должны использоваться |
AUTOSAR C++14 Rule M19-3-1 | Индикатор ошибки errno не должен использоваться |
AUTOSAR C++14 Rule A20-8-1 | Уже принадлежащее значение указателя не должно храниться в несвязанном интеллектуальном указателе |
AUTOSAR C++14 Rule A20-8-2 | Для представления исключительной собственности используется std::unique_ptr |
AUTOSAR C++14 Rule A20-8-3 | Для представления долевого владения используется std::shared_ptr |
AUTOSAR C++14 Rule A20-8-5 | std::make_unique должны использоваться для построения объектов, принадлежащих std::unique_ptr |
AUTOSAR C++14 Rule A20-8-6 | std::make_shared должны использоваться для построения объектов, принадлежащих std::shared_ptr |
AUTOSAR C++14 Rule A21-8-1 | Аргументы в функции обработки символов должны быть представлены как беззнаковый char |
AUTOSAR C++14 Rule A23-0-1 | Итератор не должен быть неявно преобразован в const_iterator |
AUTOSAR C++14 Rule A26-5-1 | Псевдослучайные номера не должны генерироваться при помощи std:: rand () |
AUTOSAR C++14 Rule A26-5-2 | Двигатели с случайными числами не должны быть инициализированы по умолчанию |
AUTOSAR C++14 Rule A27-0-2 | Строка в стиле C должна гарантировать достаточное пространство для данных и нулевого терминатор строки |
AUTOSAR C++14 Rule A27-0-3 | Альтернативные операции входа и выхода в потоке файлов не должны использоваться без промежуточного вызова промывки или позиционирования |
AUTOSAR C++14 Rule A27-0-4 | Строки в стиле C не должны использоваться |
AUTOSAR C++14 Rule M27-0-1 | Библиотека ввода/вывода потока < cstdio > не должна использоваться |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.