Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpOpSpMS 134 of 150 menu
◀ ▶

Создание через make_shared в C++

Как и у единственного владельца, общий указатель удобно создавать одной функцией, без отдельного new.

Функция make_shared выделяет объект и возвращает готовый shared_ptr. Аргументы конструктора передают так же, как при make_unique. Запишем класс Counter:

#include <iostream> #include <memory> class Counter { public: int value; Counter(int value) : value(value) {} };

Создадим счетчик с начальным значением и выведем его:

int main() { std::shared_ptr<Counter> tally = std::make_shared<Counter>(100); std::cout << tally->value << "\n"; return 0; }

Сделайте класс Meter с полем units. Получите shared_ptr через make_shared, скопируйте указатель и выведите units из обеих переменных.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить