天天看點

OC關鍵字static

static和extern不可同時共用(二者沖突取其一)

static修飾全局字段名

靜态全局變 量符号(全局變 量符号和靜态全局變 量符号生命周期相同均處于堆記憶體區域中的某個靜态區部分,這部分的記憶體靜态區在整個項目工程執行期間内一直存在正常情況不會釋放,隻有整個項目工程整體退出不在運作才會釋放靜态區)

特點:

記憶體存儲區:靜态記憶體存儲區在整個項目工程程式運作期間都存在;

作用範圍域:靜态全局變 量符号作用範圍隻涉及聲明該量符号的檔案分支邏輯區域内可見。全局變 量符号作用範圍是整個項目工程源程式。

好處:

不會被其他分支檔案所遠端通路,修改;

通過static關鍵字修飾字段名後,其他分支檔案邏輯中可以使用相同字段名,不會沖突。

static修飾局部字段名

在局部變 量符号之前加上關鍵字static修飾,局部變 量符号就被定義為靜态局部變 量符号。

特點:

存儲區:由棧記憶體區變為靜态堆記憶體存儲區,生存期為整個源程式,隻能在定義該變 量符号的局部函數内使用靜态局部變 量符号。退出該局部函數後, 盡管該靜态局部變 量符号還繼續存在,但不能使用它。

作用域:作用域仍為局部作用域,當定義該靜态局部變 量符号的局部函數或局部語句塊結束時,作用域随之結束。

static修飾函數

在函數的傳回值類型結構前加上關鍵字static修飾傳回值的類型結,函數就為靜态函數。

函數的定義和聲明預設情況是extern補充性全局,但靜态函數隻在聲明該靜态函數的單元檔案當中可見可調用,不能被其他檔案所掉用。隻能被本檔案中的其他函數調用,而不能被同一項目工程程式其它檔案單元中的函數調用指令調用。

好處:

在其他檔案中定義某個與該靜态函數具有相同名字的新的函數,也不會發生有效作用區域内所謂的同名沖突。

靜态函數不能被項目工程程式中其他檔案所調用(其他檔案都識别通路不了)。

<#初執行個體值#>編碼占位提示語言

表達式整體可視為不友善遠端通路不友善調用的隐式别名

手機上面關閉消息通知推送避免叮咚響

繼續閱讀