Skip to content
This repository has been archived by the owner on Jul 13, 2021. It is now read-only.

Template function / template class

Notifications You must be signed in to change notification settings

AufarLIRS/CPP-2019-2020-HW6

Repository files navigation

CppSource

Repo for sixth homework on 2019/2020 C++ course

Task 1

Реализуйте обобщенную функцию swap, которая принимает две ссылки на объекты и меняет их местами в памяти. Предполагается, что объекты переданного типа могут быть скопированы (copy) или перемещены (move). Использование std::swap запрещено.

Task 2

Реализуйте шаблонную версию класса Array, который является безопасной оболочкой вокруг массива на куче. Минимальный список методов, которые должен поддерживать класс Array, приведен в псевдокоде ниже:

template <typename T>
class Array
{
  // Минимальный список методов:
  size_t size() const
  T& operator[](size_t)
};

Task 3

Реализуйте собственный MyUniquePtr. По функционалу он должен быть как std::unique_ptr

class MyUniquePtr{
  MyUniquePtr(/* сырой указатель */);
  // копирование запрещено
  // перемещение разрешено, разрушающее
}

About

Template function / template class

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published