Я хотел бы создать этот шаблон чтобы предотвратить случайное копирование класса, например protected предотвращает случайный доступ и, например, const предотвращает случайное изменение.
Вот упрощенная версия того, что я я стремлюсь к:
Код: Выделить всё
NonCopyable vec1{1, 2, 3};
NonCopyable vec2(vec1); // should not compile
vec2 = vec1; // should not compile
ПРИМЕЧАНИЕ. Этот вопрос был вдохновлен вопросом «Как сделать существующий класс некопируемым и неназначаемым с помощью шаблона без наследования?». Этот вопрос уточняет предыдущий, добавляя более подробную информацию, разъясняющую вопрос, который, как мне кажется, был задан.
Подробнее здесь: https://stackoverflow.com/questions/790 ... keeps-an-i