malloc et constructeurs: un guide exploratif
Dans le domaine de l'allocation de mémoire, la bibliothèque standard fournit à la fois std :: malloc et nouvelles expressions. Bien que le nouveau initialise facilement les objets via les constructeurs, Std :: Malloc ne le fait pas. Cela soulève la question: comment pouvons-nous créer un objet et assurer son invocation du constructeur lors de l'utilisation de std :: malloc?
Une approche simple consiste à utiliser simplement la nouvelle expression, car elle sert l'objectif prévu. Cependant, si vous préférez vous en tenir à Std :: Malloc, il existe une méthode alternative: appelant explicitement le constructeur à l'aide d'une technique connue sous le nom de "placement nouveau". "
Utilisation de placement nouveau
Placement nouveau nous permet de créer explicitement un objet à un emplacement de mémoire spécifié par nous. Pour y parvenir:
pointer = (type*)malloc(sizeof(type));
new (pointer) type();
En utilisant le placement nouveau, vous pouvez créer des objets avec std :: malloc tout en invoquant des constructeurs. Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3