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

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

Хочешь написать работу самостоятельно?
Используй нейросеть
Мы создали собственный искусственный интеллект,
чтобы помочь тебе с учебой за пару минут 👇
Использовать нейросеть
Тебя также могут заинтересовать
Консультация по разработке Android приложения для туризма с картами Google Maps.
Ответы на вопросы
Программирование
Стоимость:
300 ₽
Разработка интранет-портала для караоке-клуба
Выпускная квалификационная работа
Программирование
Библиотека на Python (поиск по именам файлов)
Задача по программированию
Программирование
Технология программирования, тест 3. Элементы ООП Си++.
Помощь on-line
Программирование
Стоимость:
700 ₽
Разраб. модуля автом-ии закупки матер.для инф.системы "Школьн. столовая"
Дипломная работа
Программирование
Стоимость:
4000 ₽
Прикладное программирование в интегрированных средах разработки
Лабораторная работа
Программирование
Стоимость:
300 ₽
Тренажер слов иностранного языка
Курсовая работа
Программирование
Стоимость:
700 ₽
Аугментация данных для обучения (на примере изображений)
Курсовая работа
Программирование
Стоимость:
700 ₽
Создать Web-сайт на платформе типового конструктора CMS
Курсовая работа
Программирование
Стоимость:
700 ₽
JavaScript и библиотеки Three.js для разработки веб-приложений трёхмерной графики. Лаб_1
Лабораторная работа
Программирование
Стоимость:
300 ₽
Решение краевой задачи для ДУ: методом стрельбы и методом прогонки.
Решение задач
Программирование
Стоимость:
150 ₽
Новое задание по программированию
Решение задач
Программирование
Стоимость:
150 ₽
Python: задачи на обработку данных в Numpy и Pandas
Решение задач
Программирование
Стоимость:
150 ₽
Программирование игрового приложения “Блоки” на C#
Решение задач
Программирование
Стоимость:
150 ₽
помочь сделать прогу на делфи с оптимальным расположением груза
Решение задач
Программирование
Стоимость:
150 ₽
Python-разработчик плюс Финальный проект 4 спринта: Блогикум
Решение задач
Программирование
Стоимость:
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 вы получите информацию о подробном расчете стоимости аналогичной работы