static可以在很多位置發揮作用,下面我來一一講解它們的作用。
靜態區域性變數
1.分配空間在靜態資料棧上
2.作用域只侷限於當前的函式範圍內(區域性)
3.生命週期為整個程式,不會隨著當前的函式結束而結束
4.首次初始化時賦值生效,以後的初始化賦值自動跳過
例項:
void totaltimes
double pai = getpai();//錯誤
類的靜態成員變數
1.存在於靜態資料區
2.作用於為整個類,可以直接用類+作用域符呼叫。
3.所有該類的物件都可以共享。
4.也有public,private,protected的區分
5.若要在類內初始化,除非是static常量;否則要在類內宣告,類外初始化,且不能重複static關鍵字。
例項:
class person
string person::soul="angel";//正確,類外初始化。
person tom;
person jerry;
cout
<類的靜態成員函式
(1)靜態成員函式和靜態資料成員一樣,他們都屬於類的靜態成員,而不是物件成員。
(2)非靜態成員函式有this指標,而靜態成員函式沒有this指標。
(3)靜態成員函式主要用來訪問靜態資料成員而不能訪問非靜態成員。(但是可以訪問全域性變數)
int age=24;
class
b };
static 靜態變數
function a a a a 輸出什麼是static靜態變數?以下為在c語言中的理解 靜態變數 型別說明符是static。靜態變數屬於靜態儲存方式,其儲存空間為記憶體中的靜態資料區 在靜態儲存區內分配儲存單元 該 區域中的資料在整個程式的執行期間一直占用這些儲存空間 在程式整個執行期間都不釋放 ...
Static 靜態變數
1.靜態變數 是由靜態修飾符static來修飾的,是類的變數,但是不屬於任何乙個類的具體物件,也就是說,也就是說,對於該類的任何乙個具體的物件來說,靜態變數是乙個公共的儲存單元,任何乙個類的物件在訪問這個儲存單元時,都會獲得乙個同樣的數值,同樣,任何乙個類在修改這個儲存單元時,也都會完成相同的操作。...
靜態變數static
static資料的初始化 加上static限定的字段,是所謂的類字段,也就是說這個欄位的擁有者不是物件而是類。無論建立多少物件,static資料都只有乙份。類內總是先初始化static欄位,再初始化一般字段。接著初始化構造器。但是如果不建立這個類的物件,那這個物件是不會進行初始化的,並且只執行一次。...