真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)有什么不同-創(chuàng)新互聯(lián)

C++ 中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)有什么不同?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

創(chuàng)新互聯(lián)專(zhuān)注于網(wǎng)站建設(shè),為客戶(hù)提供網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)開(kāi)發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類(lèi)網(wǎng)站都可以開(kāi)發(fā),品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢(qián),價(jià)格優(yōu)惠,收費(fèi)合理。

靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)的區(qū)別

數(shù)據(jù)成員:

靜態(tài)數(shù)據(jù)成員是類(lèi)的一部分,為類(lèi)的所有實(shí)例共享(靜態(tài)區(qū));非靜態(tài)數(shù)據(jù)成員,類(lèi)的每個(gè)實(shí)例都有一份拷貝(動(dòng)態(tài)區(qū))。

靜態(tài)數(shù)據(jù)成員的訪(fǎng)問(wèn):

靜態(tài)數(shù)據(jù)成員是類(lèi)的一部分,在產(chǎn)生任何實(shí)例之前已經(jīng)存在,通過(guò)類(lèi)名::靜態(tài)成員變量名訪(fǎng)問(wèn)。

函數(shù)成員(都在代碼區(qū)):

靜態(tài)函數(shù)成員與非靜態(tài)函數(shù)成員都為類(lèi)所有,對(duì)象并不存在函數(shù)的拷貝。靜態(tài)成員函數(shù)和非靜態(tài)成員函數(shù)的根本區(qū)別在于非靜態(tài)函數(shù)由對(duì)象名.或者對(duì)象指針->調(diào)用,調(diào)用時(shí)編譯器會(huì)向函數(shù)傳遞this指針;靜態(tài)成員函數(shù)則有類(lèi)名::或者對(duì)象名.調(diào)用,編譯器不向函數(shù)傳遞this指針,不識(shí)別對(duì)象個(gè)體,經(jīng)常用來(lái)操作類(lèi)的靜態(tài)數(shù)據(jù)成員,要訪(fǎng)問(wèn)類(lèi)的非靜態(tài)成員可以通過(guò)對(duì)象來(lái)實(shí)現(xiàn)。

內(nèi)存角度分析:

類(lèi)的靜態(tài)成員(數(shù)據(jù)成員和函數(shù)成員)為類(lèi)本身所有,在類(lèi)加載的時(shí)候就會(huì)分配內(nèi)存,可以通過(guò)類(lèi)名直接訪(fǎng)問(wèn);非靜態(tài)成員(數(shù)據(jù)成員和函數(shù)成員)屬于類(lèi)的實(shí)例所有,所以只有在創(chuàng)建類(lèi)的實(shí)例的時(shí)候才會(huì)分配內(nèi)存,并通過(guò)實(shí)例去訪(fǎng)問(wèn)。

注意:類(lèi)的靜態(tài)數(shù)據(jù)成員是靜態(tài)存儲(chǔ),它是靜態(tài)生存周期,必須進(jìn)行初始化。

注意:靜態(tài)數(shù)據(jù)成員的初始化在類(lèi)體外進(jìn)行,前面不加static以免與一般靜態(tài)變量或者對(duì)象混淆。

靜態(tài)成員函數(shù)訪(fǎng)問(wèn)非靜態(tài)成員報(bào)錯(cuò):

類(lèi)的靜態(tài)成員在類(lèi)加載的時(shí)候就已經(jīng)分配內(nèi)存,而此時(shí)類(lèi)的非靜態(tài)成員尚未分配內(nèi)存,訪(fǎng)問(wèn)內(nèi)存中不存在的東西自然會(huì)出錯(cuò)。

例子:

#include 
using namespace std; 
 
class Test 
{ 
  public: 
    Test(int a){ A = a; ++B;} 
    static void smf(Test tt); 
  private: 
    int A; 
    static int B; 
}; 
 
void Test::smf(Test tt) 
{ 
  cout << "tt.A : " << tt.A << endl;  //靜態(tài)成員函數(shù)中通過(guò)對(duì)象來(lái)引用非靜態(tài)成員 
  cout << "Test::B : " << Test::B << endl; 
  cout << "tt.B : " << tt.B << endl; 
} 
 
int Test::B = 0; //靜態(tài)數(shù)據(jù)成員初始化的格式<數(shù)據(jù)類(lèi)型><類(lèi)名>::<靜態(tài)數(shù)據(jù)成員名>=<值> 
 
int main() 
{ 
  Test t1(100); 
  Test t2(200); 
  Test::smf(t1); 
  Test::smf(t2);//靜態(tài)成員函數(shù)調(diào)用時(shí)不用對(duì)象名 
 
  system("pause"); 
  return 0; 
}

C++ 中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)有什么不同

看完上述內(nèi)容,你們掌握C++ 中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)有什么不同的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站欄目:C++中靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù)有什么不同-創(chuàng)新互聯(lián)
文章URL:http://weahome.cn/article/djojho.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部