Явное преобразование интеграла или с плавающей запятой не должно увеличивать размер базового типа выражения значения
Явное интегральное преобразование или преобразование с плавающей запятой не должно увеличивать размер базового типа выражения cvalue.
Выражения, отмеченные этой проверкой, соответствуют подробным спецификациям выражений значений из документации MISRA ® C++ .
Если вычислить выражение и позже привести результат к другому типу, приведение не повлияет на базовый тип вычисления (самый широкий из типов данных операнда в выражении). Например, в этом примере сумма двух short операнды приведены к более широкому типу int.
short op1; short op2; int res; res= static_cast<int> (op1 + op2);
int из-за более позднего актёрского состава.Явное интегральное преобразование или преобразование с плавающей запятой не должно увеличивать размер базового типа выражения cvalue.
Комплексное выражение базового типа typeBeforeConversion может быть приведен только к более узкому целочисленному типу той же сигнатуры, однако тип назначения typeAfterconversion.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Выражения |
| Категория: Обязательно |