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

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

Оставляя свои контактные данные и нажимая «Создать задание», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.
Тебя также могут заинтересовать
Создание СППР программы(На любом языке+добавить БД) + 4 отчета
Задача по программированию
Программирование
Визуализация графика функции. (Рисование графиков в C#, OpenGL).
Лабораторная работа
Программирование
Стоимость:
300 ₽
Курсовая работа по дисциплине Прикладное программное обеспечение
Курсовая работа
Программирование
Стоимость:
700 ₽
Приложение в питоне основаное на сайте горнолыжный курорт уктус
Курсовая работа
Программирование
Стоимость:
700 ₽
Исследование параметров полупроводниковых компонентов
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработка Чат-бота для агрегации новостных источников
Курсовая работа
Программирование
Стоимость:
700 ₽
Курсовая работа змейка
Курсовая работа
Программирование
Стоимость:
700 ₽
Программная реализация тригонометрического интерполирования функций
Курсовая работа
Программирование
Стоимость:
700 ₽
Разработайте приложение Java, имитирующее работу биржи труда
Задача по программированию
Программирование
Интегрированные среды разработки программных продуктов
Реферат
Программирование
Стоимость:
300 ₽
Задача о проверке веб-страниц на Java с использованием Junit тестов
Решение задач
Программирование
Стоимость:
150 ₽
Решение задач по теории игр и линейному программированию в экскель
Решение задач
Программирование
Стоимость:
150 ₽
Скрипт бесплатной отправки сообщений на WhatSapp номера
Решение задач
Программирование
Стоимость:
150 ₽
Задача с ACMP «Произведение цифр - 3» (#669)
Решение задач
Программирование
Стоимость:
150 ₽
Объяснить программу написанная на Pascal и используемая в Delphi
Решение задач
Программирование
Стоимость:
150 ₽
Технология разработки веб-приложений практические задания
Решение задач
Программирование
Стоимость:
150 ₽
Кластеризация рабочих программ дисциплин по их описаниям
Решение задач
Программирование
Стоимость:
150 ₽
Динамическое линейное программирование в планировании
Решение задач
Программирование
Стоимость:
150 ₽
Составить алгоритм и программу для решения функции на Pascal
Решение задач
Программирование
Стоимость:
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 вы получите информацию о подробном расчете стоимости аналогичной работы