Рассчитай точную стоимость своей работы и получи промокод на скидку 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
Положительно
Автор замечательно выполнил работу на отлично и в срок! Большое спасибо! Рекомендую!

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

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Системы реального времени
Реферат
Программирование
Стоимость:
300 ₽
домашние задания по предмету инструменты больших данных
Решение задач
Программирование
Стоимость:
150 ₽
системное программное обеспечение . Сегодня
Реферат
Программирование
Стоимость:
300 ₽
ВВЕДЕНИЕ В ПАКЕТ Octave
Контрольная работа
Программирование
Стоимость:
300 ₽
Консольная игра
Курсовая работа
Программирование
Стоимость:
700 ₽
Пояснительная заптска к программе
Курсовая работа
Программирование
Стоимость:
700 ₽
Лабораторная работа о перемещении слонов по шахматной доске на C++
Лабораторная работа
Программирование
Стоимость:
300 ₽
Разработать схему алгоритма и программу в среде C++ Builder
Контрольная работа
Программирование
Стоимость:
300 ₽
разработка мобильного приложения для работы салона красоты
Дипломная работа
Программирование
Стоимость:
4000 ₽
обработка текстовых файлов в зависимости от заданных условий
Курсовая работа
Программирование
Стоимость:
700 ₽
С++. Движение геометрического объекта по траектории
Лабораторная работа
Программирование
Стоимость:
300 ₽
Требуется на языке ассемблера TMS320C6x разработать программу
Решение задач
Программирование
Стоимость:
150 ₽
Управление маленькой базой данных с помощью Python
Решение задач
Программирование
Стоимость:
150 ₽
Решить задачи по программированию через язык программирования Python
Решение задач
Программирование
Стоимость:
150 ₽
автоматизация решения транспортной задачи в delphi 7
Решение задач
Программирование
Стоимость:
150 ₽
Инвентаризация компьютерного оборудования рабочих мест
Решение задач
Программирование
Стоимость:
150 ₽
задача в Паскаль
Решение задач
Программирование
Стоимость:
150 ₽
Суммы, образующие степени двойки
Решение задач
Программирование
Стоимость:
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 вы получите информацию о подробном расчете стоимости аналогичной работы