Vídeo: Como deletar funciona em C ++?
2024 Autor: Lynn Donovan | [email protected]. Última modificação: 2023-12-15 23:52
Quando deletar é usado para desalocar memória para um C ++ objeto de classe, o destruidor do objeto é chamado antes da memória do objeto é desalocado (se o objeto tiver um destruidor). Se o operando para o excluir operador é um valor passível de modificação, seu valor é indefinido após o objeto esta deletado.
Também a questão é: qual é a diferença entre excluir e excluir em C ++?
Ambos são usados para o mesmo propósito, mas ainda têm alguns diferenças , a diferenças estão: excluir é um operador enquanto free () é uma função de biblioteca. excluir libere a memória alocada e chama o destruidor. Mas free () desaloca a memória, mas não chama o destruidor.
Também se pode perguntar, como funciona o novo C ++? Quando novo é usado para alocar memória para um C ++ objeto de classe, o construtor do objeto é chamado depois que a memória é alocada. Ao alocar uma matriz usando o novo operador, a primeira dimensão pode ser zero - o novo operador retorna um ponteiro único.
Também se pode perguntar: qual é a utilidade do operador new e delete em C ++?
C ++ suporta alocação dinâmica e desalocação de objetos usando o novos e excluir operadores . Esses operadores alocar memória para objetos de um pool chamado armazenamento gratuito. o nova operadora chama a função especial nova operadora , e as excluir operador chama a função especial operador deletar.
Preciso excluir ponteiros C ++?
1 resposta. Você não precisa deletar e, além disso, você não deveria excluir isto. Se a terra for um objeto automático, ele será liberado automaticamente. Então, manualmente deletando uma ponteiro para ele, você entra em comportamento indefinido.