久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Cstatic,、const和staticconst以及它們的初始化

 cjavahtml 2015-10-21

      const定義的常量在超出其作用域之后其空間會被釋放,而static定義的靜態(tài)常量在函數(shù)執(zhí)行后不會釋放其存儲空間,。

      static表示的是靜態(tài)的,。類的靜態(tài)成員函數(shù)、靜態(tài)成員變量是和類相關(guān)的,,而不是和類的具體對象相關(guān)的,。即使沒有具體對象,也能調(diào)用類的靜態(tài)成員函數(shù)和成員變量,。一般類的靜態(tài)函數(shù)幾乎就是一個全局函數(shù),,只不過它的作用域限于包含它的文件中。

      在C++中,,static靜態(tài)成員變量不能在類的內(nèi)部初始化,。在類的內(nèi)部只是聲明,定義必須在類定義體的外部,,通常在類的實(shí)現(xiàn)文件中初始化,,如:double Account::Rate=2.25;static關(guān)鍵字只能用于類定義體內(nèi)部的聲明中,定義時不能標(biāo)示為static

      在C++中,,const成員變量也不能在類定義處初始化,,只能通過構(gòu)造函數(shù)初始化列表進(jìn)行,并且必須有構(gòu)造函數(shù),。

      const數(shù)據(jù)成員 只在某個對象生存期內(nèi)是常量,,而對于整個類而言卻是可變的因?yàn)轭惪梢詣?chuàng)建多個對象,,不同的對象其const數(shù)據(jù)成員的值可以不同,。所以不能在類的聲明中初始化const數(shù)據(jù)成員,因?yàn)轭惖膶ο鬀]被創(chuàng)建時,,編譯器不知道const數(shù)據(jù)成員的值是什么,。

      const數(shù)據(jù)成員的初始化只能在類的構(gòu)造函數(shù)的初始化列表中進(jìn)行。要想建立在整個類中都恒定的常量,,應(yīng)該用類中的枚舉常量來實(shí)現(xiàn),,或者static cosnt。

      cosnt成員函數(shù)主要目的是防止成員函數(shù)修改對象的內(nèi)容,。即const成員函數(shù)不能修改成員變量的值,,但可以訪問成員變量。當(dāng)方法成員函數(shù)時,該函數(shù)只能是const成員函數(shù),。

      static成員函數(shù)主要目的是作為類作用域的全局函數(shù),。不能訪問類的非靜態(tài)數(shù)據(jù)成員。類的靜態(tài)成員函數(shù)沒有this指針,,這導(dǎo)致:1,、不能直接存取類的非靜態(tài)成員變量,調(diào)用非靜態(tài)成員函數(shù)2,、不能被聲明為virtual

關(guān)于static,、const、static cosnt,、const static成員的初始化問題:

1、類里的const成員初始化:

在一個類里建立一個const時,,不能給他初值

2,、類里的static成員初始化:

      類中的static變量是屬于類的,不屬于某個對象,,它在整個程序的運(yùn)行過程中只有一個副本,,因此不能在定義對象時 對變量進(jìn)行初始化,就是不能用構(gòu)造函數(shù)進(jìn)行初始化,,其正確的初始化方法是:

數(shù)據(jù)類型 類名::靜態(tài)數(shù)據(jù)成員名=值,;

3、類里的static cosnt 和 const static成員初始化

      這兩種寫法的作用一樣,,為了便于記憶,,在此值說明一種通用的初始化方法:

這是一個完整的例子:

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多