日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++中的对象_纪要(二)

發布時間:2025/5/22 c/c++ 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++中的对象_纪要(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++對象的內存布局

看以下程序,C++如何存儲和實現這個類的對象:

View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 class simpleClass{ 5 public: 6 static int nCount; //靜態成員數據 7 int nValue; //非靜態成員數據 8 char c; 9 10 simpleClass(){} 11 virtual ~simpleClass(){} //虛析構函數 12 int getValue(); //非靜態成員函數 13 virtual void foo(void){} //虛函數 14 static void addCount(); //靜態成員函數 15 }; 16 int main() 17 { 18 simpleClass aSimple; 19 printf("Object start address: %x\n", &aSimple); 20 printf("nValue address: %x\n",&aSimple.nValue); 21 printf("c address: %x\n",&aSimple.c); 22 printf("size: %d\n", sizeof(simpleClass)); 23 24 return 0; 25 }

執行結果:

結果顯示通過sizeof()得到的simpleClass的對象是12個字節。

靜態數據成員存儲在全局/靜態存儲區中,并不作為對象占據內存的一部分,sizeof()返回的大小不包括nCount所占據的內存的大小。

nValue是整型,大小為4個字節(32位機),c是字符型,大小是1個字節。32位機上,為了提高效率會按4個自己對齊,因此c也占據了4個字節。

這樣,simpleClass中的數據成員共占用了8個字節。而simpleClass中還有1個靜態成員函數,兩個虛函數和兩個非靜態成員函數,這些函數不會只占用4個字節。

如果修改simpleClass,去掉兩個虛函數,此時通過sizeof()得到的simpleClass對象的大小就變成了8個字節,可見剩下的4個字節和虛函數有關。

虛函數是C++中的一個重要特性,用來實現面向對象中的多態性。即只有在程序運行時,才能決定一個父類對象的指針調用的函數是父類還是子類中的實現。為了實現這一特性,C++編譯器在碰到含有虛函數的類時,會分配一個指針指向一個函數地址表,叫做“虛函數表”,這4個字節就是虛函數表指針所占據的4個字節。

從以上執行結果中可以看出,虛函數表指針占據的是一個對象開始的4個字節。

對于靜態成員函數和非靜態成員函數,C++編譯器采用與普通C函數類似的方式進行編譯,只不過對函數名進行了名稱修飾,用來支持重載。并且在參數列表中增加了一個this指針,用來表明是哪一個對象調用的該函數。因此靜態成員函數和非靜態成員函數的多少對對象的大小沒有影響。

結論:

1)非靜態數據成員是影響對象占據內存大小的主要因素,隨著對象數目的增加,非靜態成員占據的內存會相應的增加。

2)所有的對象共享一份靜態數據成員,所以靜態數據成員占據的內存的數量不會隨著對象數據數目的增加而增加。

3)靜態成員函數和非靜態成員函數不會影響對象內存的大小,雖然其實現會占用相應的內存空間,同樣也不會隨著對象數據的增加而增加。

4)如果對象中包含虛函數,會增加4個字節的空間,不論有多少個虛函數。

轉載于:https://www.cnblogs.com/kkkwar/archive/2012/04/22/2465232.html

總結

以上是生活随笔為你收集整理的C++中的对象_纪要(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 九九九国产 | 性欧美视频 | 午夜亚洲精品 | av网页在线 | 午夜视频网址 | 潘金莲一级淫片免费放动漫 | 午夜影院在线观看免费 | 国产又色又爽又黄又免费 | jizzjizz国产| 欧美做受高潮中文字幕 | 青青草免费观看 | 中文幕无线码中文字蜜桃 | 在线黄网| 成人欧美一区二区 | 国语对白一区二区三区 | 欧美7777 | 我的丝袜美腿尤物麻麻 | 在线观看网页视频 | 91这里只有精品 | 韩国一区在线 | 揄拍自拍 | 亚洲最色网站 | 污污内射在线观看一区二区少妇 | 乱子伦一区 | 熟妇高潮一区二区三区 | 成人日皮视频 | 美女视频黄是免费 | 特级淫片裸体免费看 | 亚洲码视频 | 欧美女优视频 | 亚洲天堂免费在线 | 澳门一级黄色片 | 综合久色 | 国产精品资源网站 | 91片黄在线观 | 红桃视频国产精品 | 欧美 国产 综合 | 成人福利视频 | 日本爽妇网 | 日韩人妻无码精品久久久不卡 | 欧美成人精品激情在线观看 | 国产午夜福利片 | 国产精品久久久久久久久久 | 男女互操在线观看 | 久久精品国产亚洲av蜜臀色欲 | 韩国甜性涩爱 | 日韩3p| 天天插夜夜爽 | 麻豆av免费在线观看 | 无码一区二区精品 | 精品国产一二三区 | 精品乱码久久久久久中文字幕 | 性欧美jzjz2| 超碰在线观看av | 日韩在线不卡视频 | 免费黄色网址观看 | 国产一区毛片 | 亚洲精品五月天 | 精品国产一区二区三区在线观看 | 99视频免费看 | aaa级片| 色五夜| 亚洲在线第一页 | 人妻激情偷乱视频一区二区三区 | 噼里啪啦国语版在线观看 | 在线播放一区二区三区 | 无码人妻黑人中文字幕 | 亚洲国产免费视频 | 91精品国产入口 | 欧美成人毛片 | 亚洲精品男人天堂 | 男人天堂久久 | 极品少妇一区二区 | 欧美成人图区 | 狠狠操狠狠操 | 97人人草| 高潮白浆女日韩av免费看 | 男女扒开双腿猛进入爽爽免费 | 伊人一区二区三区 | 欧美日韩精品二区 | 久久韩日| 偷拍综合网 | 精品一区二区三区在线免费观看 | 国产精品无码一区二区无人区多人 | 一级免费黄色 | 一级免费毛片 | 澳门一级黄色片 | 黄在线观看免费 | 少妇视频一区 | 尤物视频官网 | 亚洲国产黄 | 欧美另类视频在线观看 | 动漫av在线 | 日本黄色小视频 | 99久久综合国产精品二区 | va婷婷在线免费观看 | 国产av天堂无码一区二区三区 | 影音先锋国产资源 | 国产精品毛片久久久久久 |