1.レイアウト
メンバーにメモリスペースを割り当てる場合、割り当ての順序は、次の構造に示すように、構造を宣言する順序と一致します。
struct ceshi
{
char frist;
int second;
char three;
};
メモリ内のレイアウトは次のようになります(タイプサイズ):
降順のメンバーは、スペースの浪費を減らすことができます。
この時点でのメモリ内のレイアウトは次のようになります。
2.コンストラクターを追加せず、初期化リストを使用して{}を初期化すると、メンバーはデフォルトの順序で初期化されます。
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
}