Pessoal,
Um exemplo. Eu tenho uma
classe A e instanciei no construtor um objeto B, como segue:
|
class A { |
|
public: |
|
A(){ this->ptrB = gcnew B(); } |
|
~A(){ this->!A(); } |
|
!A(){ delete this->ptrB; |
System::GC::Collect(); |
} |
|
private: |
|
B ^ptrB; |
|
} |
|
A minha dúvida é:
se eu fizer delete
this->ptrB o que acontece? Visto que essa é a única instância de B em todo o código.
Caso este objeto apontado por
ptrB seja deletado, eu posso depois fazer uma nova instância de B para o mesmo ponteiro (ptrB) ?
e dentro do
Finalizer eu forcei a chamada do coletor de lixo, isso é uma boa prática ou não?
Eduardo.