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
}