Рассчитай точную стоимость своей работы и получи промокод на скидку 200 ₽
Найди эксперта для помощи в учебе
Найти эксперта
+2
Создан заказ №1817896
11 марта 2017

UniquePtr

Как заказчик описал требования к работе:
Напишите свою упрощённую реализацию класса std::unique_ptr. Подробную спецификацию стандартного std::unique_ptr можно посмотреть на http://en.cppreference.com/w/cpp/memory/unique_ptr. В этой задаче вам не нужно делать специализацию для массива и не нужно предусматривать свой Deleter. Назовите ваш кл асс UniquePtr. У класса должен быть один шаблонный параметр T - тип элемента, указатель на который будет храниться внутри. Напишите следующие функции в классе: Конструктор по умолчанию, создающий пустой умный указатель. Конструктор, принимающий T * и захватывающий владение этой динамической памятью. Конструктор перемещения, получающий на вход rvalue-ссылку на другой UniquePtr и отбирающий у него владение ресурсом. Оператор присваивания, получающий на вход nullptr (тип - std::nullptr_t, определенный в заголовочном файле cstddef). В результате умный указатель должен стать пустым. Move-оператор присваивания, получающий на вход rvalue-ссылку на другой UniquePtr. Деструктор. Константный и неконстантный оператор *. Оператор ->. Функцию T * release(), отменяющую владение объектом и возвращающую хранящийся внутри указатель. Функцию void reset(T * ptr), после выполнения которой умный указатель должен захватить ptr. Функцию void swap(UniquePtr& other), обменивающуюся содержимым с другим умным указателем. Функцию T * get() const, возвращающую указатель. explicit operator bool() const, позволяющий определить, не пуст ли умный указатель. В вашем классе должны быть запрещены конструктор копирования и обычный оператор присваивания. Пометьте все подходящие функции тегом noexcept (чтобы подчеркнуть, что они не должны генерировать исключений
подробнее
Заказчик
заплатил
20 ₽
Заказчик не использовал рассрочку
Гарантия сервиса
Автор24
20 дней
Заказчик принял работу без использования гарантии
12 марта 2017
Заказ завершен, заказчик получил финальный файл с работой
5
Заказ выполнил
authorAlexander
5
скачать
UniquePtr.jpg
2018-10-12 19:40
Последний отзыв студента о бирже Автор24
Общая оценка
5
Положительно
Автор замечательно выполнил работу на отлично и в срок! Большое спасибо! Рекомендую!

Хочешь такую же работу?

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Курсовая работа. Создание игры крестики нолики на языке Delphi
Курсовая работа
Программирование
Стоимость:
700 ₽
С++ написать консольное приложение
Задача по программированию
Программирование
Базовые структуры данных и их реализация в Python
Курсовая работа
Программирование
Стоимость:
700 ₽
Основы GUI. Виджеты, компоновка, сигналы и слоты.
Лабораторная работа
Программирование
Стоимость:
300 ₽
Сделать рассчет и анализ по программе Midas Gts Nx
Решение задач
Программирование
Стоимость:
150 ₽
Современные технологии программирования
Курсовая работа
Программирование
Стоимость:
700 ₽
Приём сотрудников на работу
Отчёт по практике
Программирование
Стоимость:
700 ₽
Работа с двоичными числами на java через массивы.
Решение задач
Программирование
Стоимость:
150 ₽
Задания на Visual Prolog (Технологии обработки информации)
Решение задач
Программирование
Стоимость:
150 ₽
Нужно написать код на C++ и на Python
Решение задач
Программирование
Стоимость:
150 ₽
write a C program that implements the following disk-scheduling algorithms FCFS, DDTF, SCAN, C-SCAN.
Решение задач
Программирование
Стоимость:
150 ₽
итоговый тест при отборе преподавателей в яндекслицей
Решение задач
Программирование
Стоимость:
150 ₽
Построить анимированную модель компьютерной сети в AnyLogic 8
Решение задач
Программирование
Стоимость:
150 ₽
Составить программу вычисления следующих функций:
Решение задач
Программирование
Стоимость:
150 ₽
Дано натуральное число. Напишите программу, которая вычисляет: ко
Решение задач
Программирование
Стоимость:
150 ₽
Решение заданий по сетевым технологиям в Cisco Packet Tracer
Решение задач
Программирование
Стоимость:
150 ₽
Читай полезные статьи в нашем
Базовые конструкции алгоритмов. Типы данных: простые и структурированные
Метод структурной алгоритмизации является одним из системных методов разработки алгоритмов. Он основан на визуальном представлении алгоритмов в виде последовательностей управляющих структурных фрагментов.
Каждый алгоритм состоит из элементарных шагов, которые можно объединить в определенные алгоритмические конструкции: линейную (последовательную), разветвляющуюся, циклическую .
С помощью линейных а...
подробнее
Выражения в Turbo Pascal V.7.0
Выражения определяют правила вычисления некоторых значений. Выражение состоит из операндов и оператора. Операнды выражения представлены константами и (или) переменными. Операторы, как правило, располагаются между операндами и обозначают действия, которые выполняются над операндами. Приведем в таблице операторы языка Turbo Pascal и математические действия, которые они обозначают.

Когда записываем вы...
подробнее
Организация ветвлений в Turbo Pfscal V.7.0

Ветвление в среде Turbo Pascal может осуществляться двумя способами: условным оператором и оператором выбора варианта. Применяя эти операторы, можно проверить выполнение условия ветвления и выбрать один вариант дальнейшего вычисления.
Этот оператор выбирает одно из двух направлений выполнения действий, зависящее от некоторого условия, отметим, что одна из ветвей может отсутствовать. Условие выбора...
подробнее
Управление режимом отображения детали в Компас-3D
В системе Компас-3D LT используются несколько типов отображения деталей:
Для выбора типа отображения сначала нужно вызвать команду Отображение из меню Вид, а затем выбрать необходимый вариант. Другим способом вызова команды является использование кнопок панели Вид.
Рассмотрим типы отображения деталей.
Для отображения детали в виде каркаса вызовем команду Отображение, находящуюся в меню Вид. Выберем...
подробнее
Базовые конструкции алгоритмов. Типы данных: простые и структурированные
Метод структурной алгоритмизации является одним из системных методов разработки алгоритмов. Он основан на визуальном представлении алгоритмов в виде последовательностей управляющих структурных фрагментов.
Каждый алгоритм состоит из элементарных шагов, которые можно объединить в определенные алгоритмические конструкции: линейную (последовательную), разветвляющуюся, циклическую .
С помощью линейных а...
подробнее
Выражения в Turbo Pascal V.7.0
Выражения определяют правила вычисления некоторых значений. Выражение состоит из операндов и оператора. Операнды выражения представлены константами и (или) переменными. Операторы, как правило, располагаются между операндами и обозначают действия, которые выполняются над операндами. Приведем в таблице операторы языка Turbo Pascal и математические действия, которые они обозначают.

Когда записываем вы...
подробнее
Организация ветвлений в Turbo Pfscal V.7.0

Ветвление в среде Turbo Pascal может осуществляться двумя способами: условным оператором и оператором выбора варианта. Применяя эти операторы, можно проверить выполнение условия ветвления и выбрать один вариант дальнейшего вычисления.
Этот оператор выбирает одно из двух направлений выполнения действий, зависящее от некоторого условия, отметим, что одна из ветвей может отсутствовать. Условие выбора...
подробнее
Управление режимом отображения детали в Компас-3D
В системе Компас-3D LT используются несколько типов отображения деталей:
Для выбора типа отображения сначала нужно вызвать команду Отображение из меню Вид, а затем выбрать необходимый вариант. Другим способом вызова команды является использование кнопок панели Вид.
Рассмотрим типы отображения деталей.
Для отображения детали в виде каркаса вызовем команду Отображение, находящуюся в меню Вид. Выберем...
подробнее
Теперь вам доступен полный отрывок из работы
Также на e-mail вы получите информацию о подробном расчете стоимости аналогичной работы