Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Middle+
6
SharedPtr: реализация копирующего конструктора
Условие задачи
Необходимо добавить в класс умного указателя конструктор копирования, который будет корректно увеличивать счётчик ссылок.
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);
}
};