Я считаю, что создание класса, не подлежащего копированию, очень помогает мне в качестве кода.Первоначально я делал это с boost :: noncopyable, но обнаружил, что ошибки компилятора VC ++ не так полезны, как с закрытыми членами (двойной щелчок приводит к неправильному месту в коде).
T(T const&);
T& operator=(T const&);
Действительно,это предупредило меня о довольно многих случаях, когда занятия не были переданы в качестве ссылки, где они должны иметь.Настолько, что я бы очень хотел получить предупреждение даже о классах, что мне просто нужно скопировать конструкцию один раз.
Есть ли хороший способ сделать это?Я думал, например, оставить два вышеупомянутых метода закрытыми и добавить открытый конструктор T (T const &, bool dummy) для вызова, когда я действительно хочу скопировать конструкцию.Или, может, альтернативно сделать вышеупомянутые два метода общедоступными и каким-то образом активировать предупреждение компилятора при создании копии, подавляя предупреждение, где я хочу.
Или, может быть, существует более эффективный способ для всех вместе?