static修飾的函式叫做靜態函式,靜態函式有兩種,根據其出現的地方來分類:
靜態成員函式的作用在於:呼叫這個函式不會訪問或者修改任何物件(非static)資料成員。
其實很好理解,類的靜態成員(變數和方法)屬於類本身,在類載入的時候就會分配記憶體,可以通過類名直接去訪問;非靜態成員(變數和方法)屬於類的物件,所以只有在類的物件產生(建立類的例項)時才會分配記憶體,然後通過類的物件(例項)去訪問。
這樣的static函式與普通函式的區別是:用static修飾的函式,限定在本原始碼檔案中,不能被本原始碼檔案以外的**檔案呼叫。而普通的函式,預設是extern的,也就是說它可以被其它**檔案呼叫。
在函式的返回型別前加上關鍵字static,函式就被定義成為靜態函式。普通 函式的定義和宣告預設情況下是extern的,但靜態函式只是在宣告他的檔案當中可見,不能被其他檔案所用。因此定義靜態函式有以下好處:
<1> 其他檔案中可以定義相同名字的函式,不會發生衝突。
<2> 靜態函式不能被其他檔案所用。
static修飾的函式作用與意義
如果這個靜態函式出現在類裡,那麼它是乙個靜態成員函式 靜態成員函式的作用在於 呼叫這個函式不會訪問或者修改任何物件 非static 資料成員。其實很好理解,類的靜態成員 變數和方法 屬於類本身,在類載入的時候就會分配記憶體,可以通過類名直接去訪問 非靜態成員 變數和方法 屬於類的物件,所以只有在類的...
static 與非static修飾的區別
請簡述static 與非static修飾的區別 作用在方法上,方法的區別 static方法屬於類,不屬於類的例項物件,而非static方法屬於類的例項物件,不屬於類,static方法不需要例項物件就可以通過類名呼叫,且static方法中不能有例項成員 即例項方法或例項變數 而非static方法中可以...
static修飾的變數與函式說明
static變數和static函式 static關鍵字有兩種意思 1,表示變數是靜態儲存變數 表示變數存放在靜態儲存區.2,表示該變數是內部連線 這種情況是指該變數不在任何 之內,就象全域性變數那樣,這時候加上static 也就是說在其它的.cpp檔案中,該變數是不可見的 你不能用 當static加...