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 ключевое слово.

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

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

Если вы ожидаете нарушение правила, но не видите его, относитесь, чтобы Диагностировать, Почему Кодирующие Стандартные Нарушения Не Появляются как ожидалось.

Примеры

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

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