Le c++17 spécification dénonçait l' construct
et destroy
des membres de l' std::allocator
objet. Le groupe de travail a fourni une justification pour dépréciation d'autres fonctions membre ici, sous la rubrique "Railler les redondant membres de std::allocator".
Cependant, ils ne mentionnent pas spécifiquement pourquoi ces deux membres sont obsolètes, ou ce que la recommandation est pour le remplacement de cette fonctionnalité. Je suis en supposant que l'implication est d'utiliser std::allocator_traits::construct
à la place.
Je suis un peu confus quant à savoir si la mise en œuvre de construct
peut encore être nécessaire, dans certains cas, parce que ce commentaire sur std::allocator_traits::construct
Parce que cette fonction fournit le système automatique de tomber en arrière, pour le placement de nouvelles, la fonction de membre de construire() est une option de l'Allocateur exigence depuis C++11.
Pour personnalisé allocateurs (par exemple pour la page aligné mémoire à l'aide de memalign
), va retomber placement new
toujours de produire le comportement correct?