深入淺析c/c++ 中的static關(guān)鍵字
static關(guān)鍵字
1,static 成員變量
static 成員變量不隨著對象的創(chuàng)建而開辟內(nèi)存空間。也就是說,不管從哪個對象去看static成員變量,都是一樣的。
2, static 成員方法
static 成員方法里不可以調(diào)用非static 成員方法。
非static 成員方法里可以調(diào)用static 成員方法。
原因:非static 成員方法里是沒有this指針的,所以在里面調(diào)用非static 成員方法時,無法傳遞this指針。static 成員方法不需要this指針。
重點:初始化static成員變量,要在類的外面。
#include <iostream> using namespace std; class Test{ friend void fun(const Test &t); public: Test(int d = 0) : data(d){ count++; } ~Test(){ count--; } private: int data; static int count; }; void fun(const Test &t){ cout << t.data << endl; cout << Test::count << endl; } //初始化static成員變量 int Test::count = 0; int main(){ //int Test::count = 0;//編譯不過,必須在外面初始化static成員變量 //Test::count = 0;//編譯不過,必須在外面初始化static成員變量 Test t(10); fun(t); Test t1(11); fun(t1); }
總結(jié)
以上所述是小編給大家介紹的c/c++ 中的static關(guān)鍵字,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
VC++文件監(jiān)控之FindFirstChangeNotification
因為ReadDirectoryChangesW 上次測試發(fā)現(xiàn)不能多級目錄監(jiān)控,所以嘗試用FindFirstChangeNotification來實施文件監(jiān)控,需要的朋友可以參考下2019-04-04C++詳解默認參數(shù)的構(gòu)造函數(shù)及簡單實例代碼
這篇文章主要介紹了 C++詳解默認參數(shù)的構(gòu)造函數(shù)及簡單實例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02C語言中g(shù)etopt()函數(shù)和select()函數(shù)的使用方法
這篇文章主要介紹了C語言中g(shù)etopt()函數(shù)和select()函數(shù)的使用方法,是C語言入門學習中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09采用C++實現(xiàn)區(qū)間圖著色問題(貪心算法)實例詳解
這篇文章主要介紹了采用C++實現(xiàn)區(qū)間圖著色問題(貪心算法),很經(jīng)典的算法問題,需要的朋友可以參考下2014-07-07C語言回溯法 實現(xiàn)組合數(shù) 從N個數(shù)中選擇M個數(shù)
在平時的算法的題目中,時常會遇到組合數(shù)相關(guān)的問題,暴力枚舉。在N個數(shù)中挑選M個數(shù)出來。利用for循環(huán)也可以處理,但是可拓展性不強,于是寫這個模板供以后參考2018-08-08