En el documento impulso de make_shared, que dice:¿Qué significa "única asignación" para significar impulso :: make_shared
Además de la comodidad y el estilo, tal función es también la excepción seguro y considerablemente más rápido porque puede use una asignación única para el objeto y su correspondiente bloque de control, eliminando una porción significativa de la sobrecarga de construcción de shared_ptr.
No entiendo el significado de "asignación única", ¿qué significa?
El límite de flexibilidad es que no puede elegir el asignador para 'make_shared': siempre es' std :: allocator'. Por cierto, ¿cómo se las arreglan para que 'T *' todavía esté siempre en la parte superior de la estructura de datos? –