Perguntas com a marcação «destructor»

594
Existe um destruidor para Java?

Existe um destruidor para Java? Parece que não consigo encontrar nenhuma documentação sobre isso. Se não houver, como posso obter o mesmo efeito? Para tornar minha pergunta mais específica, estou escrevendo um aplicativo que lida com dados e as especificações dizem que deve haver um botão...

462
Como faço para limpar corretamente um objeto Python?

class Package: def __init__(self): self.files = [] # ... def __del__(self): for file in self.files: os.unlink(file) __del__(self)acima falha com uma exceção AttributeError. Entendo que o Python não garante a existência de "variáveis ​​globais" (dados de membros neste contexto?) Quando...

350
Preciso chamar explicitamente o destruidor virtual básico?

Ao substituir uma classe em C ++ (com um destruidor virtual), estou implementando o destruidor novamente como virtual na classe herdada, mas preciso chamar o destruidor base? Se sim, imagino que seja algo assim ... MyChildClass::~MyChildClass() // virtual in header { // Call to base...

257
jogando exceções fora de um destruidor

A maioria das pessoas diz que nunca lança uma exceção a um destruidor - isso resulta em um comportamento indefinido. Stroustrup argumenta que "o destruidor de vetor chama explicitamente o destruidor para cada elemento. Isso implica que, se um destruidor de elemento é lançado, a destruição de vetor...

120
Como destruir um objeto?

Tanto quanto eu sei (o que é muito pouco), existem duas maneiras, dadas: $var = new object() Então: // Method 1: Set to null $var = null; // Method 2: Unset unset($var); Outro método melhor? Estou partindo cabelos

118
Quando um destruidor C ++ é chamado?

Pergunta básica: quando um programa chama um método destruidor de classe em C ++? Disseram-me que é chamado sempre que um objeto sai do escopo ou está sujeito a umdelete Perguntas mais específicas: 1) Se o objeto é criado por meio de um ponteiro e esse ponteiro é excluído posteriormente ou recebe...

91
shared_ptr magic :)

O Sr. Lidström e eu tivemos uma discussão :) A alegação do Sr. Lidström é que uma construção shared_ptr<Base> p(new Derived);não exige que a Base tenha um destruidor virtual: Armen Tsirunyan : "Sério? O shared_ptr será limpo corretamente? Você poderia, neste caso, demonstrar como esse...

89
GNU GCC (g ++): Por que ele gera vários dtors?

Ambiente de desenvolvimento: GNU GCC (g ++) 4.1.2 Enquanto estou tentando investigar como aumentar a 'cobertura de código - particularmente a cobertura de função' em testes de unidade, descobri que parte da classe dtor parece ser gerada várias vezes. Alguns de vocês têm ideia do porquê, por...