Одиночка

В нашем курсе были затронуты различные паттерны проектирования, в т.ч. порождающие. Одним из известных порождающих паттернов является паттерн «Одиночка» (Singleton). Этот паттерн гарантирует единственность экземпляра класса.

Реализуйте шаблонный класс, хранящий некоторое поле произвольного типа Т. Класс должен предоставлять полный интерфейс для работы с этим полем: необходимо корректно реализовать геттеры, сеттер и перегрузить соответствующие операторы.

Основное требование — соответствие паттерну Singleton. Необходимо запретить копирование экземпляра класса и создание новых объектов, а также обеспечить его корректное взаимодействие с окружающим кодом.