成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

處理C++靜態成員時的注意事項

開發 后端
靜態數據成員在定義或說明時前面加關鍵字static,C++靜態成員初始化與一般數據成員初始化不同。靜態數據成員初始化的格式如下:

C++靜態成員的提出是為了解決數據共享的問題。實現共享有許多方法,如:設置全局性的變量或對象是一種方法。但是,全局變量或對象是有局限性的。這一章里,我們主要講述類的靜態成員來實現數據的共享。

靜態數據成員

在類中,靜態成員可以實現多個對象之間的數據共享,并且使用靜態數據成員還不會破壞隱藏的原則,即保證了安全性。因此,靜態成員是類的所有對象中共享的成員,而不是某個對象的成員。

使用靜態數據成員可以節省內存,因為它是所有對象所公有的,因此,對多個對象來說,靜態數據成員只存儲一處,供所有對象共用。靜態數據成員的值對每個對象都是一樣,但它的值是可以更新的。只要對靜態數據成員的值更新一次,保證所有對象存取更新后的相同的值,這樣可以提高時間效率。

靜態數據成員的使用方法和注意事項如下:

1、靜態數據成員在定義或說明時前面加關鍵字static。

2、C++靜態成員初始化與一般數據成員初始化不同。靜態數據成員初始化的格式如下:

<數據類型><類名>::<靜態數據成員名>=<值>

這表明:

(1) 初始化在類體外進行,而前面不加static,以免與一般靜態變量或對象相混淆。

(2) 初始化時不加該成員的訪問權限控制符private,public等。

(3) 初始化時使用作用域運算符來標明它所屬類,因此,靜態數據成員是類的成員,而不是對象的成員。

3、靜態數據成員是靜態存儲的,它是靜態生存期,必須對它進行初始化。

4、引用靜態數據成員時,采用如下格式:

如果靜態數據成員的訪問權限允許的話(即public的成員),可在程序中,按上述格式來引用靜態數據成員。下面舉一例子,說明靜態數據成員的應用:

從輸出結果可以看到Sum的值對M對象和對N對象都是相等的。這是因為在初始化M對象時,將M對象的三個int型數據成員的值求和后賦給了Sum,于是Sum保存了該值。在初始化N對象時,對將N對象的三個int型數據成員的值求和后又加到Sum已有的值上,于是Sum將保存另后的值。所以,不論是通過對象M還是通過對象N來引用的值都是一樣的,即為54。

值得注意的是,這里需要避免一個陷阱,就是一旦人們認定了“C++不好”,那么這個理由就會“長出自己的腳來”,即,就算我們拿掉C++的復雜性,他們可能也會堅持還是不用C++靜態成員,并為之找一堆理由。我假定你不是這樣的人。

不過,也許最可能的是他會說:“問題是我們今天用的C++并非如此(簡潔),你的假設不成立。”是的,我的假設不成立。但雖然我們無法消除復雜性,我們實際上是可以容易地避開復雜性,避短揚長的。這也是本文的要點,容我后面再詳述。

當然,到現在你可能還是會說。我還是不用C++,因為我可以用D;或者如果你本來做的項目就不需要C++,你則可能會說,我用Python。首先,如果你的項目能用Java/Python乃至Ruby做,那么用C++是自討苦吃。因為能用那些語言代表你的項目在效率上本身要求就不高,那么用一門效率上討不到太大好處,復雜性上卻綽綽有余的語言,有什么價值呢?其次,如果你的項目效率是很重要的,你可能會說可以用D。

然而現實是D在工業界尤其是國內被運用得非常少,幾乎沒有。而C++卻有大量的既有代碼,已經使用C++去做他們的產品的公司,在很長一段時間之內幾乎是不可能用別的語言重寫代碼的,正如Joel所說,決定重寫一個非平凡的代碼基==自殺。

【編輯推薦】

  1. 簡介學習C++總結之談
  2. 對C++庫函數進行學習探索總結筆記
  3. C++類庫設計的基本構思與方法
  4. C++語言真的還有市場價值?
  5. C++類庫設計的基本構思與方法
責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-14 18:19:40

C++語言

2010-01-25 18:12:28

C++

2010-01-26 16:54:58

學習C++

2010-01-27 09:12:01

C++語言學習

2010-01-28 16:42:29

C++靜態成員

2010-01-18 16:12:16

CC++語言

2010-02-03 16:42:45

C++變量作用域

2011-06-14 15:25:28

C++多線程

2010-01-22 14:12:40

C++

2009-08-06 16:13:16

C# Web Serv

2011-05-03 16:58:55

噴墨打印機墨水

2010-01-18 18:04:28

靜態成員

2010-02-03 10:21:46

初學Python

2009-09-01 17:25:33

初學C#編程

2010-01-21 14:19:44

C++靜態成員

2022-06-22 10:19:20

員工談判專家

2010-01-18 14:25:19

使用C++Builde

2011-08-02 13:08:06

Oracle索引

2011-05-24 16:58:52

CC++

2010-01-18 17:57:02

靜態數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久久久免费看 | 911影院 | 色综合久久久久 | 久久久欧洲 | 毛片入口| 久久不卡 | 亚洲在线 | 一级黄色录像片子 | 欲色av| av在线天堂网 | 中文字幕成人在线 | 五月激情婷婷网 | 日本中文字幕日韩精品免费 | 久久69精品久久久久久久电影好 | 精品一区二区三区在线视频 | 一区二区三区四区视频 | 拍真实国产伦偷精品 | 亚洲天堂成人在线视频 | 国产在线观看不卡一区二区三区 | 99久久日韩精品免费热麻豆美女 | 久久久久久久一区 | 色视频在线免费观看 | 色在线免费视频 | 嫩草视频在线 | 日韩中文在线 | 99精品国产一区二区三区 | 国产福利在线播放麻豆 | 日韩高清国产一区在线 | 久久久成人免费视频 | 国产免费拔擦拔擦8x高清 | 国产精品午夜电影 | 91精品国产色综合久久不卡蜜臀 | 亚洲精品视频在线观看免费 | 高清一区二区三区 | 伊人春色在线观看 | 午夜精品久久久久久久久久久久久 | 免费一级片 | 又黑又粗又长的欧美一区 | 欧美成年视频 | 久久久久国产一区二区三区四区 | 国产日韩亚洲欧美 |