Y a-t-il des inconvénients à utiliser make_shared<T>()
au lieu d'utiliser shared_ptr<T>(new T)
.
Améliorer la documentation États
Les utilisateurs ont demandé à plusieurs reprises utilisateurs pour une fonction usine qui crée un objet d'un type donné et renvoie un tronc partagé vers celui-ci. Outre pratique et de style, une telle fonction est également sans danger pour les exceptions et considérablement plus rapide car elle peut utiliser une allocation unique à la fois pour l'objet et son bloc de contrôle correspondant de contrôle correspondant, éliminant ainsi une partie importante de la construction de shared_ptr construction de shared_ptr. Ceci élimine l'une des principales plaintes concernant l'efficacité de shared_ptr.