Algunos puntos de conocimiento sobre la estructura

1. Disposición

Al asignar espacio de memoria para miembros, el orden de asignación es consistente con el orden de declaración de la estructura, como se muestra en la siguiente estructura:

struct ceshi
{
    char frist;
    int second;
    char three;
};

El diseño en la memoria es así ( tamaño de letra ):

Los miembros en orden descendente pueden reducir el desperdicio de espacio:

El diseño en la memoria en este momento es así:

2. Si no agrega un constructor e inicializa {} con una lista de inicialización, los miembros se inicializarán en el orden predeterminado:

struct ceshi
{
    int frist;
    int second;
};

#define debug qDebug()<<
int main(int argc, char *argv[])
{
    ceshi c1{2,4};// frist = 2 second = 4
    ceshi c2{6};// frist = 2 second执行默认初始化 = 0
}

 

Supongo que te gusta

Origin blog.csdn.net/kenfan1647/article/details/113815072
Recomendado
Clasificación