malloc e construtores: um guia explorativo
no reino da alocação de memória, a biblioteca padrão fornece STD :: malloc e novas expressões. Enquanto novos objetos convenientemente inicialmente por meio de construtores, o STD :: Malloc não. Isso levanta a questão: como podemos criar um objeto e garantir sua invocação de construtor ao usar o std :: malloc? No entanto, se você preferir continuar com o STD :: MALLOC, há um método alternativo: chamando explicitamente o construtor usando uma técnica conhecida como "posicionamento novo". Para conseguir isso:
use std :: MALLOC para alocar memória para o objeto.
usar new (pointer) para inicializar o objeto nesse local. novo (ponteiro) type ();
Depois de criar o objeto, não se esqueça de destruí -lo usando a sintaxe explícita ~ type () e liberte a memória com free. novo (a) a (); a-> ~ a (); livre (a);utilizando o posicionamento novo, você pode criar objetos com std :: malloc enquanto ainda invocava construtores.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3