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

分享

靜態(tài)變量和靜態(tài)函數(shù)

 兩個肉包 2010-09-26
   今天和同事突然討論起C/C++中的靜態(tài)變量,、靜態(tài)函數(shù)、靜態(tài)成員變量,、靜態(tài)成員函數(shù),,雖然大家都覺得C和C++象一對雙胞胎,但是在一些概念上卻有著很大的區(qū)別,。查閱了一些資料,,試著總結(jié)如下:
 
   先說說C中的靜態(tài)變量和靜態(tài)函數(shù)。(1)C中的靜態(tài)變量是處于全局存儲區(qū),,區(qū)別于自動變量的存儲于棧中,。兩者的關(guān)鍵區(qū)別是其作用域的區(qū)別。自動變量的作用 域處于其所在的函數(shù)或語句塊中,;而靜態(tài)變量的作用域起始于其定義處,,終止于程序結(jié)束處。(2)C中的靜態(tài)函數(shù)主要是限制函數(shù)的名字以及可訪問域于文件中,, 表示此函數(shù)僅供此文件所用,,不允許在其他文件中調(diào)用的。有關(guān)靜態(tài)函數(shù)的使用可以考慮幾點:一是靜態(tài)函數(shù)的名字僅可見于其所定義的文件,。這就允許在不同的文 件中存在同名的靜態(tài)函數(shù),。可以利用此特性將本文件常用的代碼抽象出來成為函數(shù),,而在使用此段代碼的地方直接調(diào)用函數(shù)即可,。這樣允許用簡短的名詞定義此函 數(shù)。我的體驗,,在面臨定義功能相同的函數(shù)是,,為他們?nèi)∫粋€美麗的名字其實很困難,,而在使用上對名字的記憶也頗費苦心。而用靜態(tài)函數(shù)可以省力許多,。而普通函 數(shù)是可以全局訪問的,,而且在C中沒有名字空間的概念,所以對C中函數(shù)的命名頗費苦心,。

   再說C++中的靜態(tài)成員變量和靜態(tài)成員函數(shù),。(1)類靜態(tài)數(shù)據(jù)成員在編譯時創(chuàng)建并初始化:在該類的任何對象建立之前就存在,不屬于任何對象,,而非靜態(tài)類成 員變量則是屬于對象所有的,。類靜態(tài)數(shù)據(jù)成員只有一個拷貝,為所有此類的對象所共享,。特別需要注意的一點是:靜態(tài)數(shù)據(jù)成員不能在類中初始化(對于常量靜態(tài)類 變量有待考證,,好像可以在類外或main()函數(shù)之前定義,初始化可以放在類中),,一般在類外和main()函數(shù)之前初始化,,缺省時初始化為0。靜態(tài)數(shù)據(jù) 成員用來定義類的各個對象所公有的數(shù)據(jù),,比全局變量更安全,。(2)類靜態(tài)成員函數(shù)屬于整個類,不屬于某個對象,,由該類所有對象共享,。靜態(tài)成員可定義為 inline函數(shù)。一般情況下靜態(tài)成員函數(shù)用于訪問同一類中的靜態(tài)數(shù)據(jù)成員或全局變量,,而不訪問非靜態(tài)成員,,如需訪問非靜態(tài)成員,需要將對象作為參數(shù),,通 過對象名訪問該對象的非靜態(tài)成員,。靜態(tài)成員函數(shù)也可以在類外定義,此時不可以用static修飾,。靜態(tài)成員函數(shù)存在的原因是什么呢,?主要是在建立任何對象 之前可用它來訪問靜態(tài)數(shù)據(jù)成員,普通函數(shù)不能實現(xiàn)此功能,。

   C++靜態(tài)成員和靜態(tài)成員函數(shù)的使用:靜態(tài)成員的調(diào)用格式:類名::靜態(tài)數(shù)據(jù)成員名,、對象名.靜態(tài)數(shù)據(jù)成員名、對象指針->靜態(tài)數(shù)據(jù)成員,、對象引 用.靜態(tài)數(shù)據(jù)成員(但類中很少會出現(xiàn)公有數(shù)據(jù)成員,,這段僅僅討論語法,未考慮實際運用中的數(shù)據(jù)封裝問題)。靜態(tài)成員函數(shù)的調(diào)用格式:類名::靜態(tài)成員函數(shù) 名,、對象名.靜態(tài)成員函數(shù)名,、對象指針->靜態(tài)成員函數(shù)名、對象引用.靜態(tài)數(shù)據(jù)成員,。靜態(tài)成員函數(shù)沒有this指針,,因它不與特定對象相聯(lián)系,調(diào)用 時推薦使用“類名::靜態(tài)成員函數(shù)名”格式,??偨Y(jié)來說,在有對象的情況下,,可以用調(diào)用普通類成員函數(shù),、普通成員變量的方式調(diào)用靜態(tài)成員函數(shù)和靜態(tài)成員變 量。從這里可以看出靜態(tài)成員變量和靜態(tài)成員函數(shù)的使用應(yīng)該是在不建立任何對象的情況下調(diào)用它們,。其應(yīng)用可以參見設(shè)計模式中Singleton pattern,。

   總結(jié)不全面,,希望和有興趣的人深入探討,。比如靜態(tài)變量、靜態(tài)函數(shù)以及靜態(tài)成員變量,、靜態(tài)成員函數(shù)的典型應(yīng)用,、巧妙應(yīng)用,如有高手指點一二,,不勝感激,。


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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多