Наша команда в настоящее время использует некоторый перенесенный код из старой архитектуры в новый продукт, основанный на платформе ARM Cortex M3, с использованием адаптированной версии GCC 4.5.1. Мы читаем данные из ...
Согласно строгим правилам псевдонима: struct B {virtual ~ B () {}};
структура D: общедоступный B {}; D d;
char * c = reinterpret_cast (& d); Допускается символ * для любого объекта другого типа. ...
Мы только что обновили наш компилятор до gcc 4.6 и теперь получаем некоторые из этих предупреждений. На данный момент наша кодовая база не в состоянии скомпилировать с c ++ 0x, и в любом случае мы не хотим запускать это в prod (at ...
, даже после того, как я немного прочитал о правилах строгого псевдонима, я все еще запутался. Насколько я понял, невозможно реализовать разумный распределитель памяти, который следует этим правилам, ...
boost :: optional <> идеально подходит для простых типов данных, но как только используется для класса, наследующего от класса, реализующего интерфейс не работает, когда включен строгий псевдоним. Пример: #include ...
Без -O2 этот код печатает 84 84, с флагом O2 вывод 84 42. Код был скомпилирован с использованием gcc 4.4.3. на 64-битной платформе Linux. Почему вывод для следующего кода отличается? Обратите внимание, что ...
Один из примеров неопределенного поведения из стандарта C гласит (J.2): - Индекс массива вне допустимого диапазона, даже если объект явно доступен с данным индексом (как в .. .