Autor: Vitaly Buturlin
Contenido:
Clase trivial
Clases triviales ( La clase trivial ): es una clase o estructura en la que el miembro especial funciona proporcionado por el compilador (obviamente no hay implementación) o definido explícitamente como predeterminado. No hay código de control en dicha clase , ya que las funciones miembro especiales se declaran (explícita o implícitamente) triviales por defecto.
Además, existen requisitos adicionales, la clase trivial no debe tener:
funciones virtuales
clases base no triviales
tipos de datos no triviales
La palabra "trivial" significa la presencia de:
funciones de miembros especiales triviales ( msdn )
Miembros POD (ver más abajo)
Las clases triviales se pueden copiar de forma segura con funciones como memcpy con total precisión.
La trivialidad de las funciones miembro (falta de código de control) implica:
asignación de memoria para un objeto sin inicialización
copia de bytes de un objeto
liberar memoria sin limpiar
Diseño estándar
Estructura estándar ( diseño estándar ): una estructura (struct), que contiene accesibilidad C ++:
funciones virtuales y clases base virtuales
varios niveles de acceso (privado, protegido)
miembros no estáticos de un tipo de referencia
Estructura estándar:
no tiene miembros no estándar
no tiene clases base que no sean una estructura no estándar
no tiene más de una clase base con miembros de datos no estáticos
no tiene dos lugares para declarar miembros no estáticos (por ejemplo, en la clase base y en sí misma)
no tiene más de dos clases base (o indirectamente)
La estructura estándar tiene una estructura de memoria predecible , ya que no contiene datos que el compilador podría estructurar a su propia discreción (por ejemplo, en el caso de público / privado / protegido), tanto escritos como almacenados en la memoria .
Autor: Vitaly Buturlin