Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida quanto as diferenças entre instanciação de classes


Guest --Higor --

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Objetos alocados na pilha são perdidos assim que o escopo no qual eles estão inseridos termina. Por exemplo:

int teste() {
    Classe ins;
    ...
    return 0;
    // ins é desalocado
}
Enquanto que:
int teste() {
    Classe *ins = new Classe;
    ...
    return 0;
    // ins continua alocado em algum lugar da memória
}
Se você não fizer a desalocação, o objeto vai continuar na memória até o programa terminar de executar. Isso, às vezes, é útil. Por exemplo:
Classe * cria_objeto() {
    Classe *ins = new Classe;
    ...
    return ins;
}

A versão sem ponteiros não funcionaria (ou funcionaria de maneira inconsistente), pois o objeto seria desalocado.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...