Общий блок памяти make_shared в C++
Один кусок памяти часто берет make_shared и размещает объект и блок управления в одном выделении памяти.
При конструировании shared_ptr из голого
new обычно нужны два обращения
к куче. Фабрика экономит одно из них
и улучшает локальность данных. Запишем
структуру с полем и выведем его через
make_shared:
#include <iostream>
#include <memory>
struct Quote {
int cents = 0;
};
int main() {
std::shared_ptr<Quote> price =
std::make_shared<Quote>();
price->cents = 350;
std::cout << price->cents << "\n";
return 0;
}
Объявите struct Score с полем
points. Получите shared_ptr
только через make_shared,
запишите 20 и выведите поле.