Resultados de la búsqueda a petición "strict-aliasing"

3 la respuesta

¿El acceso a través del puntero cambia la semántica de alias estricto?

Con estas definiciones: struct My_Header { uintptr_t bits; } struct Foo_Type { struct My_Header header; int x; } struct Foo_Type *foo = ...; struct Bar_Type { struct My_Header header; float x; } struct Bar_Type *bar = ...; ¿Es correcto decir que ...

3 la respuesta

s legal reutilizar la memoria de una matriz de tipos fundamental para una matriz de tipos diferente (pero aún fundamental)

Esta es una continuación de esta otrapregunt [https://stackoverflow.com/q/51930334/3545273] sobre la reutilización de la memoria. Como la pregunta original era sobre una implementación específica, la respuesta estaba relacionada con esa ...

2 la respuesta

Podríamos acceder al miembro de un objeto de tipo de clase no existente?

En el estándar c ++, en [basic.lval] /11. [http://eel.is/c++draft/basic.lval#11.6] dice Si un programa intenta acceder al valor almacenado de un objeto a través de un valor gl diferente de uno de los siguientes tipos, el comportamiento no ...

3 la respuesta

gcc: Cómo usar __attribute ((__ may_alias__)) correctamente para evitar la advertencia de "desdibujar puntero de tipo punteado"

Tengo un código que utiliza la escritura de tipos para evitar tener que llamar al constructor y destructor de un "objeto" miembro a menos que sea necesario hasta que sea realmente necesario usar el objeto. Funciona bien, pero en g ++ 4.4.3, ...

2 la respuesta

¿Entiendo correctamente el alias estricto C / C ++?

He leídoeste artículo sobre alias estricto C / C ++ [http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html] . Creo que lo mismo se aplica a C ++. Según tengo entendido, se utiliza un alias estricto para ...

12 la respuesta

Fix para desreferenciar el puntero marcado con tipo romperá el alias estricto

Estoy tratando de corregir dos advertencias al compilar un programa específico usando GCC. Las advertencias son: warning: al desreferenciar el puntero de tipo punteado se romperán las reglas de alias estricto [-Wstrict-aliasing] y los dos ...

2 la respuesta

¿El acceso al primer campo de una estructura a través de un reparto en C viola los alias estrictos?

¿Viola este código el alias estricto? struct {int x;} a; *(int*)&a = 3 Más abstractamente, ¿es legal emitir entre diferentes tipos siempre que las operaciones de lectura / escritura primitivas sean de tipo correcto?

22 la respuesta

What is the strict aliasing rule

Al preguntar sobreomportamiento indefinido de @common en C [https://stackoverflow.com/questions/98340/what-are-the-common-u ndefinedunspecified-behavior-for-c-that-you-run-into], almas más iluminadas de lo que me referí a la estricta regla de ...

8 la respuesta

aliasing estricto y alineación

Necesito una forma segura de alias entre tipos de POD arbitrarios, conforme a ISO-C ++ 11 considerando explícitamente 3.10 / 10 y 3.11 de n3242 o posterior. Aquí hay muchas preguntas sobre alias estricto, la mayoría de ellas con respecto a C y ...