C++ · Essencial · Português · Técnico
membro estático
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