成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C#中Static修飾的作用是什么

這篇文章將為大家詳細(xì)講解有關(guān)C#中Static修飾的作用是什么,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

成都創(chuàng)新互聯(lián)公司致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站開(kāi)發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、重慶小程序開(kāi)發(fā)公司、公眾號(hào)商城、等建站開(kāi)發(fā),成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。

1.類的靜態(tài)成員:

classA  {  private  staticints_  }   intA::s_=0 //注意,這里沒(méi)有static的修飾!

類的靜態(tài)成員是該類所有實(shí)例的共用成員,也就是在該類的范疇內(nèi)是個(gè)全局變量,也可以理解為是一個(gè)名為A::s_的全局變量,只不過(guò)它是帶有類安全屬性的,道理很簡(jiǎn)單,因?yàn)樗窃诔绦虺跏蓟臅r(shí)候分配的,所以只分配一次,所以就是共用的,
類的靜態(tài)成員必須初始化,道理也是一樣的,因?yàn)樗窃诔绦虺跏蓟臅r(shí)候分配的,所以必須有初始化,類中只是聲明,在cpp中才是初始化,你可以在初始化的代碼上放個(gè)斷點(diǎn),在程序執(zhí)行main的***條語(yǔ)句之前就會(huì)先走到那,如果你的靜態(tài)成員是個(gè)類,那么就會(huì)調(diào)用到它的構(gòu)造函數(shù)。

2.類的靜態(tài)函數(shù):

classA  {  private:  staticvoidfunc(int);  }

實(shí)現(xiàn)的時(shí)候也不需要C# Static修飾,因?yàn)镾tatic是聲明性關(guān)鍵字,類的靜態(tài)函數(shù)是在該類的范疇內(nèi)的全局函數(shù),不能訪問(wèn)類的私有成員,只能訪問(wèn)類的靜態(tài)成員,不需要類的實(shí)例即可調(diào)用,實(shí)際上,它就是增加了類的訪問(wèn)權(quán)限的全局函數(shù):void A::func(int),靜態(tài)成員函數(shù)可以繼承和覆蓋,但無(wú)法是虛函數(shù)。

3.只在cpp內(nèi)有效的全局變量:

在cpp文件的全局范圍內(nèi)聲明:
Static int g_ = 0  這個(gè)變量的含義是在該cpp內(nèi)有效,但是其他的cpp文件不能訪問(wèn)這個(gè)變量,如果有兩個(gè)cpp文件聲明了同名的全局靜態(tài)變量,那么他們實(shí)際上是獨(dú)立的兩個(gè)變量。

如果不使用Static聲明全局變量:
int g_ = 0  那么將無(wú)法保證這個(gè)變量不被別的cpp共享,也無(wú)法保證一定能被別的cpp共享,因?yàn)橐尪鄠€(gè)cpp共享一個(gè)全局變量,應(yīng)將它聲明為extern(外部)的,也有可能編譯會(huì)報(bào)告變量被重復(fù)定義,總之不建議這樣的寫(xiě)法,不明確這個(gè)全局變量的用法。

如果在一個(gè)頭文件中聲明:
Static int g_vaule = 0  那么會(huì)為每個(gè)包含該頭文件的cpp都創(chuàng)建一個(gè)全局變量,但他們都是獨(dú)立的,所以也不建議這樣的寫(xiě)法,一樣不明確需要怎樣使用這個(gè)變量,因?yàn)橹皇莿?chuàng)建了一組同名而不同作用域的變量。

這里順便說(shuō)一下如何聲明所有cpp可共享的全局變量,在頭文件里聲明為extern的:
extern int g_  注意,不要初始化值!

然后在其中任何一個(gè)包含該頭文件的cpp中初始化(一次)就好:
int g_ = 0  初始化一樣不要extern修飾,因?yàn)閑xtern也是聲明性關(guān)鍵字。
然后所有包含該頭文件的cpp文件都可以用g_這個(gè)名字訪問(wèn)相同的一個(gè)變量。

4.只在cpp內(nèi)有效的全局函數(shù):

在cpp內(nèi)聲明:
Static void func()  函數(shù)的實(shí)現(xiàn)不需要C# Static修飾,那么這個(gè)函數(shù)只可在本cpp內(nèi)使用,不會(huì)同其他cpp中的同名函數(shù)引起沖突,道理和如果不使用Static會(huì)引起的問(wèn)題和第3點(diǎn)一樣,不要在頭文件中聲明Static的全局函數(shù),不要在cpp內(nèi)聲明非Static的全局函數(shù),如果你要在多個(gè)cpp中復(fù)用該函數(shù),就把它的聲明提到頭文件里去,否則在cpp內(nèi)部聲明需要加上C# Static修飾,在C語(yǔ)言中這點(diǎn)由為重要!

關(guān)于C#中Static修飾的作用是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

新聞名稱:C#中Static修飾的作用是什么
文章地址:http://jinyejixie.com/article36/ggidpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、微信公眾號(hào)、全網(wǎng)營(yíng)銷推廣ChatGPT、企業(yè)網(wǎng)站制作靜態(tài)網(wǎng)站

廣告

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

網(wǎng)站托管運(yùn)營(yíng)
新和县| 子洲县| 泰顺县| 远安县| 普宁市| 潜江市| 肥西县| 治多县| 屯昌县| 沈阳市| 杭锦后旗| 霸州市| 龙里县| 泰兴市| 玉树县| 蕲春县| 阜新| 靖安县| 榕江县| 定州市| 栖霞市| 潼关县| 张北县| 庆安县| 太湖县| 眉山市| 南溪县| 云南省| 陕西省| 涞源县| 库车县| 泸溪县| 渑池县| 长兴县| 连云港市| 阳曲县| 宝坻区| 镇巴县| 卢氏县| 沧州市| 通城县|