AUTOSAR C++14 Rule A2-13-3

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

Описание

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

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

Объяснение

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

Чтобы улучшить переносимость вашего кода, используйте 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