Назад к задачам
Junior — Middle+
6

SharedPtr: реализация копирующего конструктора

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Необходимо добавить в класс умного указателя конструктор копирования, который будет корректно увеличивать счётчик ссылок.

template <class T>
class SharedPtr {
    int* refCount = nullptr;
    T* rawPtr = nullptr;

public:
    SharedPtr() = default;

    SharedPtr(const SharedPtr& other) {
        rawPtr = other.rawPtr;
        refCount = other.refCount;
        // увеличиваем счётчик ссылок
    }

    SharedPtr(T* ptr) {
        rawPtr = ptr;
        refCount = new int(1);
    }
};