AUTOSAR C++14 Rule A2-13-3

wchar_t типа не должен использоваться

Описание

Управляйте определением

wchar_t типа не должен использоваться.

Объяснение

Размер wchar_t является зависящим от реализации. Если вы используете wchar_t для значений Unicode ваш код связан с определенным компилятором.

Чтобы улучшить мобильность вашего кода, используйте char16_t и char32_t вместо этого. Это стандартные типы, введенные на C++ 11 для текстовых строк с UTF-16 и кодировкой UTF-32.

Реализация Polyspace

Средство проверки правила отмечает все использование wchar_t ключевое слово.

Если вы не хотите устранять проблему, добавьте комментарий, выравнивающий по ширине результат. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Выравнивания.

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

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Примеры

развернуть все

char16_t str1[] = u"A UTF-16 string";  //Compliant
char32_t str2[] = U"A UTF-32 string";  //Compliant 
wchar_t str3[] = L"A Unicode string";  //Noncompliant

Использование wchar_t нарушает это правило. Вместо этого типы char16_t и char32_t может использоваться.

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

Группа: Выражения

Введенный в R2019a