promotions

Я получаю ошибки типа MISRA, когда использую спецификатор "%f " для snprintf с параметром типа float. Согласно моим исследованиям, Мисра прав, потому что" %f " предполагает Тип double. Существует ли спецификатор или модификатор с плавающей запятой, который будет использовать параметр типа float, а не do...

Предположим, что у меня есть 2D векторный шаблон класса: template<typename T> class Vec2 { T x, y; // ... }; Я ожидал бы, что результатом суммы между A Vec2<double> и A Vec2<int> будет a Vec2<double>, но C++ не будет делать этого по умолчанию. Я думаю неправильно? Должен л...

Может ли переменная ниже (называемая b) называться выражением, если она является единственной вещью, расположенной справа от знака равенства? // This code fragment will not compile. // c is a char, and b is a byte. c = b; Причина, по которой я задаю этот вопрос, связана с темой продвижения типа в выражени...

У меня есть класс с именем "Card" и класс с именем "CardDeck", со следующим повышением, определенным в "CardDeck".h': CardDeck(Card card){cards.push_back(card);} У CardDeck есть друг оператор+: friend CardDeck operator+(const CardDeck, const CardDeck); Который отлично работает для: CardDeck+CardDeck...

скажем, у меня есть следующие: int i = 23; float f = 3.14; if (i == f) // do something i будет повышен до float и два float числа будут сравниваться, но может a float представляют все int значения? Почему бы не продвигать оба int и float до double?...