O que (não) fazer em um construtor
Quero pedir suas melhores práticas em relação aos construtores em C ++. Não sei bem o que devo fazer em um construtor e o que não.
Devo usá-lo apenas para inicializações de atributos, chamando construtores-pai etc.? Ou posso até colocar funções mais complexas nelas, como ler e analisar dados de configuração, configurar bibliotecas externas a.s.o.
Ou devo escrever funções especiais para isso? Resp.init()
/ cleanup()
?
Quais são os PRO e CON aqui?
Eu descobri ainda que, por exemplo, posso me livrar de ponteiros compartilhados ao usarinit()
ecleanup()
. Eu posso criar os objetos na pilha como atributos de classe e inicializá-lo mais tarde enquanto ele já estiver construído.
Se eu lidar com isso no construtor, preciso instanciar durante o tempo de execução. Então eu preciso de um ponteiro.
Eu realmente não sei como decidir.
Talvez você possa me ajudar?