真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【C++】sizeof()函數(shù)解析

【1】 常見數(shù)據(jù)類型的的sizeof函數(shù)得出的值表

成都創(chuàng)新互聯(lián)是一家專業(yè)提供上黨企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站制作、網(wǎng)站建設(shè)、H5開發(fā)、小程序制作等業(yè)務(wù)。10年已為上黨眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進行中。


charintshortlongfloatdouble指針
32 bit1424484
64 bit14 or 828488

【2】 數(shù)組求sizeof 的值

  數(shù)組的大小 = 數(shù)組中元素的個數(shù) x 該類型的大小

【3】 union 求 sizeof 的值

  由于 union 中存在復(fù)寫現(xiàn)象,union 結(jié)構(gòu)的 sizeof 的值即為 union 中最大的元素的大小。例如;

union student{
    int id;
    double score;
}

  這個 union 中的最大的元素是double,所以它的 sizeof 就是8。

【4】 struct 中求 sizeof 的值

   struct 沒有復(fù)寫的情況,但是它的 sizeof 情況比較復(fù)雜,因為存在補位的情況,例如下面的例子

struct stu{
    char s;
    int i;
}

  它的大小不是簡單的 1 + 4 = 5,而是8。因為 struct 的 size 一定是最大成員的整數(shù)倍,如果其中有元素不需要最大元素那么大的位置的話,就空著。所以上例的 struct 的大小為8。下一個例子

struct stu1{
    char a;
    char b;
    int c;
}

struct stu2{
    char a;
    int c;
    char b;
}

   雖然 stu1 和 stu2 的元素是一樣的,只是順序不一樣,但是因為補位的原因,第一個的 size 為8字節(jié),而第二個的 size 為 12 字節(jié)。

【5】 類對象的 sizeof 大小

  【5.1】 一個空類,里面任何函數(shù)也沒有,它的對象的 size 是多少?

     大小為1。不是0的原因是當(dāng)我們申明了一個對象的時候,系統(tǒng)就需要為其分配資源,所以一定不是0。

  【5.2】 如果我們在空類中加入了構(gòu)造函數(shù)和析構(gòu)函數(shù),size 是多少?

    大小還是1,因為函數(shù)和對象是分離的。

  【5.3】 如果是虛函數(shù)呢?

    虛函數(shù),每個類的對象中都會有一個指向虛函數(shù)的指針,所以大小要增加,在32位中,size為4個字節(jié),在64位中為8個字節(jié)。 


名稱欄目:【C++】sizeof()函數(shù)解析
本文網(wǎng)址:http://weahome.cn/article/gpcgse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部