Agregar cualquier miembro no copiable a una clase evitaría la generación automática de la construcción de copias y el operador de asignación. ¿Por qué el impulso requiere herencia para usar no copiable?por qué boost :: noncopyable require inheritance
creo que no estoy solo en mi preferencia estilística de
class MyUtility : public MyBase
{
noncopyable guard;
...
};
en contraposición a
class MyUtility : public MyBase , private noncopyable
{
...
};
de Dave Abrahams es un tipo inteligente, por lo que probablemente consideraron esta posibilidad. ¿Qué me estoy perdiendo? ¿Qué logra la herencia?
referencia obligatoria a la "Optimización de Base vacía" permitió a los compiladores para los que no entienden la respuesta :) –
@Matthieu M. Hecho :). – UmmaGumma
Estoy aceptando esta como la respuesta, pero también debería mencionar el hecho de que el enfoque de boost evita que las subclases proporcionen explícitamente la funcionalidad de copia. –