Resultados da pesquisa a pedido "unions"
União e problema de embalagem struct
Estou escrevendo algum software em que cada bit deve ser exato (é para a CPU), então __packed é muito important typedef union{ uint32_t raw; struct{ unsigned int present:1; unsigned int rw:1; unsigned int user:1; unsigned int dirty:1; unsigned ...
Quando usar uma união e quando usar uma estrutura
Eu sei as diferenças entre união e estrutura. Mas, de uma perspectiva de design e codificação, quais são os vários casos de uso de uma união em vez de uma estrutura? Um é a otimização do espaço. Há mais vantagens em usá-los?
Por que precisamos de sindicatos C?
Quando os sindicatos devem ser usados? Por que nós precisamos deles?
Existem garantias para uniões que contêm um tipo de quebra automática e o próprio tipo?
Posso colocar umT e um embrulhadoT em umunion e inspecioná-los como eu gosto? union Example { T value; struct Wrapped { T wrapped; } wrapper; }; // for simplicity T = int Example ex; ex.value = 12; cout << ex.wrapper.wrapped; // ?Os padrões C ++ ...
Acessando membro inativo do mesmo tipo em uniões
Eu tenho algo parecido com isto: union DataXYZ { struct complex_t { float real, imag; } complex; struct vector_t { float magnitude, phase; } vector; };Eu tenho alguns vetores desses, sendo a memória do espaço de trabalho de uso geral, onde ...
Por que o tamanho da minha união é maior do que eu esperava?
Quando imprimo o tamanho de uma união como esta: union u { char c[5]; int i; } un;using this: int _tmain(int argc, _TCHAR* argv[]) { printf("size of union = %d ",sizeof(un)); return 0; } Recebo uma resposta de 8 usando o Visual C ++, mas ...
memcpy / memmove para um membro do sindicato, isso define o membro 'ativo'?
Esclarecimentos importantes: alguns comentaristas parecem pensar que estou copiando de um sindicato. Olhe atentamente para omemcpy, copia do endereço de uma planície antigauint32_t, que não está contido em uma união. Além disso, estou copiando ...
Nomeação de elementos de matriz ou estrutura e matriz em uma união
Considere a seguinte estrutura: struct Vector4D { union { double components[4]; struct { double x, y, z, t; } Endpoint; }; }; Parece-me que tenho visto algo semelhante na estrutura do endereço IP do WinApi. A idéia é me dar a possibilidade de ...
Layout da memória da união de membro de tamanho diferente?
typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64; } epoll_data_t;Aquiint e__uint32_t são 4 bytes, enquanto os outros são 8 byte Quando definimosfd para umint, está nos primeiros 4 bytes ou nos últimos 4 bytes ou ...