Как создать шаблон, который использует существующий класс A в качестве параметра a, сохраняя экземпляр класса A не подлеC++

Программы на C++. Форум разработчиков
Anonymous
 Как создать шаблон, который использует существующий класс A в качестве параметра a, сохраняя экземпляр класса A не подле

Сообщение Anonymous »

Как создать шаблон, который использует существующий класс A в качестве параметра a, сохраняя экземпляр класса A не подлежащим копированию и назначению?
Я хотел бы создать этот шаблон чтобы предотвратить случайное копирование класса, например protected предотвращает случайный доступ и, например, const предотвращает случайное изменение.
Вот упрощенная версия того, что я я стремлюсь к:

Код: Выделить всё

NonCopyable vec1{1, 2, 3};
NonCopyable vec2(vec1);    // should not compile
vec2 = vec1;                                 // should not compile
Какой шаблон APPROACH будет подходящим для достижения такого поведения, предполагая, что я могу использовать только исходный класс как есть и не делать этого? не хотите получить производный класс от этого класса?
ПРИМЕЧАНИЕ. Этот вопрос был вдохновлен вопросом «Как сделать существующий класс некопируемым и неназначаемым с помощью шаблона без наследования?». Этот вопрос уточняет предыдущий, добавляя более подробную информацию, разъясняющую вопрос, который, как мне кажется, был задан.

Подробнее здесь: https://stackoverflow.com/questions/790 ... keeps-an-i

Вернуться в «C++»