Для студентов МГТУ им. Н.Э.Баумана по предмету Основы программирования на C++С++ ИУ8 ЛР5: стекС++ ИУ8 ЛР5: стек
4,88530
2021-05-302021-05-30СтудИзба
ДЗ: С++ ИУ8 ЛР5: стек
Описание
# Лабораторная работа №5
## Задание 1
Реализовать некопируемый перемещаемый шаблон класса **stack** с методами `pop`, `push`, `head`.
```cpp
template <typename T>
class stack
{
public:
void push(T&& value);
void push(const T& value);
void pop();
const T& head() const;
};
```
⚠️ *Стандартными контейнерами пользоваться **запрещено**.*
## Задание 2
Реализовать некопируемый перемещаемый шаблон класса **stack** для некопируемых перемещаемых типов с методами:
* `push_emplace`, принимающего те же аргументы, что и конструктор для `T`, где `T` - пареметр шаблона;
* `head`, возвращающего ссылку на верхушку стека;
* `pop`, выполняющего снятие элемента с верхушки стека.
```cpp
template <typename T>
class stack
{
public:
template <typename ... Args>
void push_emplace(Args&&... value);
void push(T&& value);
const T& head() const;
T pop();
};
```
⚠️ *Стандартными контейнерами пользоваться **запрещено**.*
## Задание 3
Реализовать **unit-test**'ы с использованием фреймворка **Google Test** для реализованных шаблонов в заданиях 1 и 2.
## Рекомендации
Характеристики домашнего задания
Учебное заведение
Семестр
Просмотров
36
Размер
43,26 Kb
Список файлов
._lab5_stack-master
._settings.yml
._lab-05-stack.iml
._misc.xml
._modules.xml
._vcs.xml
._workspace.xml
._clion-environment.txt
._clion-log.txt
._cmake.check_cache
._CMakeCache.txt
._CMakeFiles
._FindGcov.cmake
._FindLcov.cmake
._Findcodecov.cmake
._.DS_Store
._.clang-format
._.gitignore
._.gitmodules
._.travis.yml
._AUTHORS
._CMakeLists.txt
._CONTRIBUTING.md
._Dockerfile
._LICENSE
._README.md
._zad1.hpp
._zad2.hpp
._checks.sh
._coverage.sh
._duplication.sh
Комментарии
Сопутствующие материалы
Домашнее задание №1 (вариант №13)
Домашнее задание №1
Домашнее задание №2
ЛР №1 - Парсер
С++ ИУ8 ЛР2: кэш
С++ ИУ8 ЛР3: shared ptr
Подобрали для Вас услуги
-50%
Новинка
-41%
ЛЮБАЯ задача по Сопротивлению материалов в МГТУ
1 500 890 руб.
-66%
Кинематика точки и простейших движений твердого тела
999 340 руб.
Вы можете использовать домашнюю работу для примера, а также можете ссылаться на неё в своей работе. Авторство принадлежит автору работы, поэтому запрещено копировать текст из этой работы для любой публикации, в том числе в свою домашнюю работу в учебном заведении, без правильно оформленной ссылки. Читайте как правильно публиковать ссылки в своей работе.