Ir para conteúdo

Featured Replies

Postado

Tudo tranquilo, glr?

Eu criei esse tópico pra saber se C++ tem MESMO garbage collector. Uns dizem que sim, outros que não, enfim...

Para quem não sabe, há dois métodos de instanciação de classes atualmente, sendo eles:

Classe a(params); // cria a classe
//delete a; vai acusar erro



Classe *a = new Classe(params); //cria classe
delete a; //deleta a classe

Então, teoricamente, C++ tem garbage collector, né? Porque o primeiro modo de instanciar vai deletar a classe como qualquer outro valor, ou seja, vai ter duração de escopo.

Por que dizem que C++ não tem GC? Ou, se n tem, por que ele não tem? o.O

 

 

(deixei um exemplo de tudo q falei em imagens)

Sem título.pngSem_t%C3%ADtulo1.png.1a512a05a288785194083d57f55db0cb.png

 

 

Sem_título1.png

Editado por otteN (veja o histórico de edições)

Nem todo loop infinito é ruim ;P 

User *eu = new User("otteN");
RepSystem<User> *myRep = new RepSystem<User>("jóinha");
myRep->setAlvo(eu);

/* só por ser criado já sou o melhor membro */ 

while(eu->isMelhorMembro()){
myRep->reputar();
}

 

  • 3 weeks later...
Postado

Isso não é garbage collection. GC é quando existe um algoritmo que encontra e limpa referências perdidas na memória, como quando você dá new sem dar delete (spoiler alert - você nunca mais recupera). O que C++ tem com variáveis é só escopo mesmo, se chama call stack.

 

Leitura recomendada: https://en.wikipedia.org/wiki/RAII

 

Não tem porque C++ é pra programador grandinho o suficiente pra gerenciar a própria memória. Isso permite você criar seu próprio alocador, até tem uns mais rápidos que o padrão pra certos tipos de uso (ex. tcmalloc e jemalloc)

 

Also parece que fez tudo em Java. Esquece esse mundo de "this" e revisa como se faz construtores em C++ :)

Editado por Lordfire (veja o histórico de edições)

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo