AUTOSAR C++14 Rule A0-4-2

Тип долго удваивается, не буду использоваться

Описание

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

Тип долго удваивается, не буду использоваться.

Объяснение

Размер long double является зависящим от реализации и уменьшает мобильность вашего кода через компиляторы. Компиляторы могут реализовать long double как синоним для double или 80-битный тип расширенной точности или 128-битный четырехкратный тип точности, которые более точны, чем double.

Вместо этого для арифметики многократно увеличенной точности, которая требует типов, более точных, чем double, пользуйтесь библиотеками, которые поддерживают арифметику многократно увеличенной точности с четко определенными типами данных.

Реализация Polyspace

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

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

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

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

Примеры

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

void func() {
  float f{0.1F};  //Compliant
  double D(0.1);  //Compliant
  long double LD(0.1L);  //Noncompliant
}

Использование long double нарушает это правило.

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

Группа: Выражения
Категория: необходимый, автоматизированный
Введенный в R2019a