欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

【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è)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。


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ù)雜,因?yàn)榇嬖谘a(bǔ)位的情況,例如下面的例子

struct stu{
    char s;
    int i;
}

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

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

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

   雖然 stu1 和 stu2 的元素是一樣的,只是順序不一樣,但是因?yàn)檠a(bǔ)位的原因,第一個的 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,因?yàn)楹瘮?shù)和對象是分離的。

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

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

分享名稱:【C++】sizeof()函數(shù)解析
當(dāng)前路徑:http://www.chinadenli.net/article34/gpcgse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航網(wǎng)站制作小程序開發(fā)品牌網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)