五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++基礎語法梳理:位域以及 union 聯(lián)合!小知識分享

2021-09-08 17:00 作者:C語言編程__Plus  | 我要投稿



位域

類可以將其(非靜態(tài))數(shù)據(jù)成員定義為位域(bit-field),在一個位域中含有一定數(shù)量的二進制位。當一個程序需要向其他程序或硬件設備傳遞二進制數(shù)據(jù)時,通常會用到位域。

位域在內(nèi)存中的布局是與機器有關(guān)的

位域的類型必須是整型或枚舉類型,帶符號類型中的位域的行為將因具體實現(xiàn)而定

取地址運算符(&)不能作用于位域,任何指針都無法指向類的位域

extern "C"

(1)被 extern 限定的函數(shù)或變量是 extern 類型的

(2)被?extern "C"?修飾的變量和函數(shù)是按照 C 語言方式編譯和鏈接的

extern "C"?的作用是讓 C++ 編譯器將?extern "C"?聲明的代碼當作 C 語言代碼處理,可以避免 C++ 因符號修飾導致代碼不能和C語言庫中的符號進行鏈接的問題。

extern "C" 使用

struct 和 typedef struct

C 中

等價于

此時?S?等價于?struct Student,但兩個標識符名稱空間不相同。

另外還可以定義與?struct Student?不沖突的?void Student() {}。

C++ 中

由于編譯器定位符號的規(guī)則(搜索規(guī)則)改變,導致不同于C語言。

一、如果在類標識符空間定義了?struct Student {...};,使用?Student me;?時,編譯器將搜索全局標識符表,Student?未找到,則在類標識符內(nèi)搜索。

即表現(xiàn)為可以使用?Student?也可以使用?struct Student,如下:

二、若定義了與?Student?同名函數(shù)之后,則?Student?只代表函數(shù),不代表結(jié)構(gòu)體,如下:

C++ 中 struct 和 class

總的來說,struct 更適合看成是一個數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)體,class 更適合看成是一個對象的實現(xiàn)體。

區(qū)別

最本質(zhì)的一個區(qū)別就是默認的訪問控制

(1)默認的繼承訪問權(quán)限。struct 是 public 的,class 是 private 的。

(2)struct 作為數(shù)據(jù)結(jié)構(gòu)的實現(xiàn)體,它默認的數(shù)據(jù)訪問控制是 public 的,而 class 作為對象的實現(xiàn)體,它默認的成員變量訪問控制是 private 的。

union 聯(lián)合

聯(lián)合(union)是一種節(jié)省空間的特殊的類,一個 union 可以有多個數(shù)據(jù)成員,但是在任意時刻只有一個數(shù)據(jù)成員可以有值。當某個成員被賦值后其他成員變?yōu)槲炊x狀態(tài)。聯(lián)合有如下特點:

默認訪問控制符為 public

可以含有構(gòu)造函數(shù)、析構(gòu)函數(shù)

不能含有引用類型的成員

不能繼承自其他類,不能作為基類

不能含有虛函數(shù)

匿名 union 在定義所在作用域可直接訪問 union 成員

匿名 union 不能包含 protected 成員或 private 成員

全局匿名聯(lián)合必須是靜態(tài)(static)的

union 使用

C 實現(xiàn) C++ 類

C 實現(xiàn) C++ 的面向?qū)ο筇匦裕ǚ庋b、繼承、多態(tài))

(1)封裝:使用函數(shù)指針把屬性與方法封裝到結(jié)構(gòu)體中

(2)繼承:結(jié)構(gòu)體嵌套

(3)多態(tài):父類與子類方法的函數(shù)指針不同

寫在最后:對于準備學習C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學習基地

整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)

歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!



C++基礎語法梳理:位域以及 union 聯(lián)合!小知識分享的評論 (共 條)

分享到微博請遵守國家法律
大埔县| 个旧市| 来宾市| 友谊县| 松桃| 类乌齐县| 秦安县| 都江堰市| 邵东县| 沈丘县| 建宁县| 团风县| 齐河县| 抚远县| 铅山县| 来宾市| 英超| 怀化市| 邛崃市| 巴东县| 内黄县| 蕉岭县| 晋宁县| 庆安县| 咸丰县| 泸州市| 琼海市| 拉萨市| 防城港市| 无锡市| 保亭| 额敏县| 玉门市| 定西市| 洱源县| 芦山县| 崇明县| 怀宁县| 子长县| 新乡县| 合江县|