ExpertiDict

C++ · Essencial · Inglês · Técnico

struct

strʌktpalavra-chave

Tipo composto igual a class, exceto que os membros e a herança são públicos por padrão. Por convenção, é usado para agregados simples de dados, sem invariantes a proteger.

Onde usar

Aparece em DTOs, pares de valores e tipos pequenos passados por valor. No review, a escolha entre struct e class sinaliza se há invariantes a proteger.

Em código

struct Ponto {
  double x = 0;
  double y = 0;
};
Ponto p{1.5, 2.0};  // agregado

Exemplos

I made it a struct because it's just three public fields.

Fiz dele uma struct porque são só três campos públicos.

Pass the struct by const reference, it's not tiny.

Passe a struct por referência constante, ela não é pequena.

Cuidado

Não é a struct de C: a de C++ aceita funções membro, construtores e herança, e dispensa repetir a palavra struct ao usar o nome.

Origem

Abreviação de structure, estrutura em inglês.

Veja também

Todos os termos de C++