給本身記憶的const


參考:http://blog.csdn.net/Eric_Jo/article/details/4138548
函數

使用帶有const的指針時其實有兩種意思。一種指的是你不能修改指針自己的內容,另外一種指的是你不能修改指針指向的內容

(1)指針自己是常量不可變
     (char*) const pContent;
     const (char*) pContent;

(2)指針所指向的內容是常量不可變
     const (char) *pContent;
     (char) const *pContent;

(3)二者都不可變
      const char* const pContent;

(4)還有其中區別方法,沿着*號劃一條線:
spa

若是const位於*的左側,則const就是用來修飾指針所指向的變量,即指針指向爲常量;
若是const位於*的右側,const就是修飾指針自己,即指針自己是常量
.net



const修飾全局變量

參考:http://my.oschina.net/hnuweiwei/blog/291037
指針


iOS靜態方法和動態方法

1.實例方法/動態方法對象

    a).標識符:-blog

    b).調用方式:(實例對象    函數)繼承

    c).實例方法在堆棧上。生命週期

2.靜態方法/類方法內存

    a).標識符:+get

    b).調用方式:(類    函數)

    c).靜態方法在堆上分配內存。

3.靜態方法和實例方法的區分

     a).靜態方法常駐內存,實例方法不是,因此靜態方法效率高但佔內存。事實上,方法都是同樣的,在加載時機和佔用內存上,靜態方法和實例方法是同樣的,在類型第一次被使用時加載。調用的速度基本上沒有差異。

    b).靜態方法在堆上分配內存,實例方法在堆棧上。事實上全部的方法都不可能在堆或者堆棧上分配內存,方法做爲代碼是被加載到特殊的代碼內存區域,這個區域是不可寫的。

    c).實例方法須要先建立實例才能夠調用,比較麻煩,靜態方法不用,比較簡單。

    d).靜態方法是靜態綁定到子類,不是被繼承。

    e).通常使用頻繁的方法用靜態方法,用的少的方法用動態的。靜態的速度快,佔內存。動態的速度相對慢些,但調用完後,當即釋放類,能夠節省內存,能夠根據本身的須要選擇是用動態方法仍是靜態方法。

    f).靜態方法修改的是類的狀態,而對象修改的是各個對象的狀態。

    g).類的實例調用是在類的生命週期中存在,當類沒有了之後,對應的實例也就沒有了,對應的方法也就沒有了。靜態類否則,只要你引用了那個靜態類的命名空間,它就會一直存在,直到咱們推出系統

相關文章
相關標籤/搜索