Resultados da pesquisa a pedido "type-punning"

1 a resposta

Armazenamento baseado em char genérico [] e evitando o UB relacionado ao estrito aliasing

2 a resposta

Aliasing estrito do C ++ quando não estiver usando o ponteiro retornado pelo posicionamento new

Isso pode causar um comportamento indefinido? uint8_t storage[4]; // We assume storage is properly aligned here. int32_t* intPtr = new((void*)storage) int32_t(4); // I know this is ok: int32_t value1 = *intPtr; *intPtr = 5; // But can one of the ...

2 a resposta

Aliasing estrito de ponteiro: o acesso através de um ponteiro 'volátil' / referência é uma solução?

Na esteira deum problema específico [https://stackoverflow.com/questions/2980920/strict-pointer-aliasing-any-solution-for-a-specific-problem/2981505#2981505] , uma resposta automática e comentários, gostaria de entender se é uma solução adequada, ...

2 a resposta

estruturas de punição de união com “sequência inicial comum”: Por que C (99+), mas não C ++, estipula uma 'declaração visível do tipo de união'?

fundoDiscussões sobre a natureza da punição de tipo definida pela não-ou-implementação por meio de umunion normalmente cite os seguintes bits, aqui via @ecatmur ...

2 a resposta

Por que o POSIX contradiz os padrões ISO C [fechado]

...

2 a resposta

bits flutuantes e aliasing estrito

Estou tentando extrair os bits de um flutuador sem invocar um comportamento indefinido. Aqui está minha primeira tentativa: unsigned foo(float x) { unsigned* u = (unsigned*)&x; return *u; }Pelo que entendi, isso não garante que funcione devido a ...

3 a resposta

Buffers de memória compartilhada em C ++ sem violar regras estritas de alias

Eu estou lutando com a implementação de um buffer de memória compartilhada sem quebrar as regras de aliasing rigorosas do C99.Suponha que eu tenha algum códi...

3 a resposta

gcc: Como usar o __attribute ((__ may_alias__)) corretamente para evitar o aviso de "exclusão do ponteiro puncionado por tipo"

Eu tenho algum código que usa punção de tipo para evitar ter que chamar o membro de "objeto" construtor e destruidor, a menos que / até que seja realmente necessário usar o objet Funciona bem, mas no g ++ 4.4.3, recebo este temido aviso do ...

4 a resposta

união para uint32_t e uint8_t [4] comportamento indefinido? [duplicado]

Esta questão já tem uma resposta aqui:Finalidade das Uniões em C e C ++ 14 respostasNos comentários deesta resposta Diz-se que seria um comportamento indefin...

4 a resposta

Tornar os tipos de classe intercambiáveis ​​apenas por meio de conversão de ponteiro, sem precisar alocar novos objetos?

ATUALIZAR: Eu aprecio "não quero isso, quero isso em vez disso" sugestões. Eles são úteis, especialmente quando fornecidos no contexto dacenário mo...