ExpertiDict

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

vazamento de memória

vazaˈmẽtu dʒi meˈmɔɾjɐlocução nominal

Memória alocada dinamicamente que nunca é liberada, porque o último ponteiro para ela se perdeu ou o delete foi esquecido. O consumo cresce enquanto o programa roda.

Onde usar

Aparece em serviços de longa duração que vão ocupando RAM até serem reiniciados. Ferramentas como AddressSanitizer e Valgrind apontam onde a alocação foi feita.

Em código

void vaza(bool cedo) {
  int* p = new int(5);
  if (cedo) return;  // p nunca é liberado
  delete p;
}

Exemplos

O serviço ficou três dias no ar e foi reiniciado por causa de um vazamento de memória.

O AddressSanitizer apontou um vazamento de memória nessa função.

Cuidado

Não é o mesmo que uso alto de memória: vazamento é memória que ninguém mais vai liberar.

Sinônimos

memory leak

Veja também

Todos os termos de C++