Conceptos de análisis: tipo trivial, diseño estándar, POD

Autor: Vitaly Buturlin





Contenido:





  • 1. Clase trivial





  • 2. Diseño estándar





  • 3. POD





  • 4. Opcional





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





Una fuente








All Articles