ios概念之static,const,extern

其實我自己大多數文章都是經過自己消化,然後弄出來的。和人家的有一些區別,但是不能完全說自己寫的,所以我歸類到轉載,參考文章確實不記得了。之前有的文章已經歸到原創了,以後儘量加這個說明,希望不會被罵。

const是隻讀,表明該變量不能夠被修改(也不會對它修改);


static表示靜態變量,當函數執行完後該變量不會被釋放;下次讀取時,從之前的內存中讀取上次的值;

在和其他模塊可能具有相同名稱的函數和變量在連接時不會產生名稱衝突。一般來說,只要不是提供給其他模塊使用的函數和非全局變量,均應使用static修飾。

static標記的變量會存儲到全局變量區,生命週期和程序相同。

優點:

1.節省內存。靜態變量只存儲一處,但供所有該類的對象使用,

2.它的值是可以更新的;

3.可提高時間效率。只要某個對象對靜態變量更新一次,所有的同類對象都能訪問更新後的值。


extern 表示全局變量,是在方法外部定義的變量。它不屬於哪個方法,而是屬於整個源程序,作用域是整個源程序。

注:如果全部變量和局部重名,則在局部作用域內,全局變量會被屏蔽不起作用。編程的時候儘量不使用全局變量。


volatilt表示變量隨時可以改變。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章