Perguntas com a marcação «struct»

Uma palavra-chave em várias linguagens de programação cuja sintaxe é semelhante ou derivada de C (C ++, C #, Swift, Go, Rust etc.). Use uma tag de linguagem de programação específica para marcar perguntas que envolvam o uso de uma `struct`, pois a sintaxe e a semântica podem depender do idioma. A palavra-chave define ou declara um tipo de dados composto por outros tipos de dados. Cada membro de uma estrutura possui sua própria área de memória (ao contrário de uma `união 'cujos membros compartilham uma única área de memória).

7
Estrutura rápida e mutante
Há algo que não entendo totalmente quando se trata de alterar os tipos de valor em Swift. Como afirma o iBook "The Swift Programming Language": Por padrão, as propriedades de um tipo de valor não podem ser modificadas a partir de seus métodos de instância. E para tornar isso possível, …

8
Nenhum operador == encontrado ao comparar estruturas em C ++
Comparando duas instâncias da estrutura a seguir, recebo um erro: struct MyStruct1 { MyStruct1(const MyStruct2 &_my_struct_2, const int _an_int = -1) : my_struct_2(_my_struct_2), an_int(_an_int) {} std::string toString() const; MyStruct2 my_struct_2; int an_int; }; O erro é: erro C2678: binário '==': nenhum operador encontrado, o que leva um operando à esquerda …

10
Estruturas versus classes
Estou prestes a criar 100.000 objetos em código. São pequenos, com apenas 2 ou 3 propriedades. Vou colocá-los em uma lista genérica e, quando estiverem, vou fazer um loop e verificar o valor ae talvez atualizar o valor b. É mais rápido / melhor criar esses objetos como classe ou …
93 c#  struct 

2
Função para estrutura C ++
Normalmente podemos definir uma variável para uma estrutura C ++, como em struct foo { int bar; }; Podemos também definir funções para uma estrutura? Como usaríamos essas funções?
93 c++  function  struct 

6
Por que C ++ não permite estruturas anônimas?
Alguns compiladores C ++ permitem uniões e estruturas anônimas como uma extensão do C ++ padrão. É um pouco de açúcar sintático que às vezes é muito útil. Qual é a lógica que impede que isso faça parte do padrão? Existe um obstáculo técnico? Filosófico? Ou apenas não o suficiente …
92 c++  struct  unions 

9
Inicializar / redefinir estrutura para zero / nulo
struct x { char a[10]; char b[20]; int i; char *c; char *d[10]; }; Estou preenchendo esta estrutura e usando os valores. Na próxima iteração, desejo redefinir todos os campos para 0ou nullantes de começar a reutilizá-los. Como eu posso fazer isso? Posso usar memsetou devo passar por todos os …

5
Por que essa estrutura tem tamanho 3 em vez de 2?
Eu defini esta estrutura: typedef struct { char A:3; char B:3; char C:3; char D:3; char E:3; } col; Eles sizeof(col)me dão a saída de 3, mas não deveria ser 2? Se eu comentar apenas um elemento, o sizeofé 2. Não entendo por quê: cinco elementos de 3 bits são …
91 c++  c  struct 

6
Uma variável de membro não utilizada ocupa memória?
Inicializar uma variável de membro e não referenciá-la / usá-la consome mais RAM durante o tempo de execução ou o compilador simplesmente ignora essa variável? struct Foo { int var1; int var2; Foo() { var1 = 5; std::cout << var1; } }; No exemplo acima, o membro 'var1' obtém um …
91 c++  memory  struct 

9
É seguro para structs implementar interfaces?
Parece que me lembro de ter lido algo sobre como é ruim para structs implementar interfaces em CLR via C #, mas não consigo encontrar nada sobre isso. É ruim? Existem consequências indesejadas de fazer isso? public interface Foo { Bar GetBar(); } public struct Fubar : Foo { public …
91 c#  interface  struct 





3
Layout da memória estrutural em C
Tenho experiência em C #. Sou muito um novato em uma linguagem de baixo nível como C. Em C #, structa memória de é definida pelo compilador por padrão. O compilador pode reordenar os campos de dados ou preencher bits adicionais entre os campos implicitamente. Então, eu tive que especificar …


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.