Результаты поиска по запросу "strict-aliasing"

1 ответ

Спасибо за это, это действительно очень полезный обходной путь во многих случаях, но, как упомянул @BenVoigt, это не совсем то, что мне нужно в идеале.

акой простой шаблон, должен быть «хороший» способ разобраться в нем. У меня есть функция, которая должна генерировать байтовый массив динамического размера, содержащий арифметические данные. // Given that I have a function that kinda looks like ...

2 ответа

 доказательства того, что они полезны - только не для вас.

1 ответ

Общее хранилище на основе char [] и исключение UB, связанных со строгим псевдонимом

Я пытаюсь создать шаблон класса, который объединяет несколько типов в достаточно большой массив символов и позволяет получить доступ к данным в виде отдельны...

ТОП публикаций

1 ответ

Понимание ограничить классификатор на примерах

2 ответа

Этот союз нарушает строгий псевдоним? Как насчет регистров с плавающей запятой

4 ответа

Строгое расположение псевдонимов и памяти

Строгий псевдоним запрещает нам доступ к той же области памяти с использованием несовместимого типа.

4 ответа

Нарушает ли это приведение указателей строгое правило наложения имен?

Это быстрая реализация с обратным квадратным корнем из Quake III Arena: float Q_rsqrt( float number ) { long i; float x2, y; const float threehalfs = 1.5F; x2 = number * 0.5F; y = number; i = * ( long * ) &y; // evil floating point bit level ...

4 ответа

Как разыграть sockaddr_storage и избежать нарушения правил строгого наложения имен

Я использую Руководство Биджа по работе с сетями и столкнулся с проблемой псевдонимов. Он предлагает функцию, которая возвращает адрес IPv4 или IPv6 определенной структуры: 1 void *get_in_addr( struct sockaddr *sa ) 2 { 3 if (sa->sa_family == ...

2 ответа

Строгий псевдоним C ++, когда не используется указатель, возвращаемый путем размещения new

3 ответа

(Как пояснение, объект, как правило, перестает существовать при отсутствии каких-либо существующих ссылок или указателей, которые когда-либо будут использоваться для доступа к нему или получения других указателей / объектов, которые будут использоваться таким образом). Основная причина, по которой существуют правила «псевдонимов», заключается в том, чтобы указывать, когда компиляторам необходимо делать допуски для ссылок, которые неожиданно идентифицируют тот же объект, но не требуются допуски в случаях, когда хранилище не изменено, и объект, который явно получен из другого, может вряд ли можно сказать «неожиданно» псевдоним это в контексте такого происхождения.

родолжение этого другоговопрос [https://stackoverflow.com/q/51930334/3545273]о повторном использовании памяти. Поскольку первоначальный вопрос касался конкретной реализации, ответ был связан с этой конкретной реализацией. Поэтому мне интересно, ...