static, const關鍵字和String類

2021-07-10 03:18:35 字數 1137 閱讀 6627

(1)函式體內static變數的作用範圍為該函式體,不同於auto變數,該變數的記憶體只被分配一次(初始化一次),因此其值在下次呼叫時仍維持上次的值;

(2)在模組內的static全域性變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問;

(3)在模組內的static函式只可被這一模組內的其它函式呼叫,這個函式的使用範圍被限制在宣告它的模組內;

(4)在類中的static成員變數屬於整個類所擁有,對類的所有物件只有乙份拷貝

(5)在類中的static成員函式屬於整個類所擁有,這個函式不接收this指標,因而只能訪問類的static成員變數

(1)欲阻止乙個變數被改變,可以使用const關鍵字。在定義該const變數時,通常需要對它進行初始化,因為以後就沒有機會再去改變它了;

(2)對指標來說,可以指定指標本身為const,也可以指定指標所指的資料為const,或二者同時指定為const;

(3)在乙個函式宣告中,const可以修飾形參,表明它是乙個輸入引數,在函式內部不能改變其值;

(4)對於類的成員函式,若指定其為const型別,則表明其是乙個常函式,不能修改類的成員變數

(5)對於類的成員函式,有時候必須指定其返回值為const型別,以使得其返回值不為「左值」

例如:const classa operator*(const classa& a1,const classa& a2);

operator*的返回結果必須是乙個const物件。

class string

;string::string(const char *str)

else }

string::string(const string &other)

//過載操作符=

string & string::operate=(const string &other)

string::~string(void)

有關static const等關鍵字概念與區別

一 static全域性變數與普通的全域性變數有什麼區別 1.static全域性變數與普通全域性變數的區別是 static全域性變數只初始化一次,防止在其他檔案單元被引用 3.static函式與普通函式的區別是 static函式在記憶體中只有乙份,普通函式在每個被呼叫中維持乙份複製品 二 const關...

this關鍵字和super關鍵字

this關鍵字和super關鍵字都必須放在構造方法的第一行,所有兩個關鍵字不能同時存在,任選其一即可,只需保證子類的所有構造方法呼叫父類的構造方法即可 this關鍵字的應用 this關鍵字用於區分區域性變數和成員變數的同名問題 有this關鍵字的是成員變數,或者是誰呼叫我,訪問的就是誰 this關鍵...

static關鍵字和final關鍵字

static記住幾點 1.優先順序高,載入優先物件例項化 2.在記憶體中只分配一次 3.屬於類本身,所有例項共享,一處變,處處變 4.1 static不能訪問沒有static修飾的方法 因為不認識,物件例項後才能在外部使用方法 2 可以訪問static塊 3 未加static的方法可以訪問stati...