ExpertiDict

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

membro estático

ˈmẽbɾu isˈtatʃikusubstantivo

Membro declarado com static dentro de uma classe, que pertence à classe e não a cada objeto. Todas as instâncias compartilham o mesmo dado ou chamam a mesma função.

Onde usar

Usado em contadores de instâncias, constantes da classe e funções fábrica. Atenção: um dado estático que não seja inline precisa de definição fora da classe, senão o linker reclama.

Em código

struct Conta {
  static inline int total = 0;  // C++17
  Conta() { ++total; }
  static int quantas() { return total; }
};

Exemplos

Esse contador é um membro estático, compartilhado por todos os objetos.

Faltou definir o membro estático no cpp e o linker acusou erro.

Cuidado

Membro estático não tem ponteiro this; por isso uma função estática não acessa membros de instância.

Sinônimos

membro de classe

Antônimos

membro de instância

Veja também

Todos os termos de C++