W doc doładowania make_shared, to mówi:Co oznacza „jeden przydział” oznacza dla boost :: make_shared
Oprócz wygody i stylu, taka funkcja jest również bezpieczny wyjątek i znacznie szybciej, ponieważ może użyj pojedynczego przydziału dla obiektu i jego odpowiedniego bloku kontrolnego, eliminując znaczną część narzutu związanego z budową shared_ptr.
Nie rozumiem znaczenia "pojedynczej alokacji", co to znaczy?
Ograniczenie elastyczności polega na tym, że nie można wybrać alokatora dla 'make_shared': To zawsze' std :: allocator'. A tak przy okazji, w jaki sposób zarządzają, że 'T *' wciąż jest zawsze na szczycie struktury danych? –