给本身记忆的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).类的实例调用是在类的生命周期中存在,当类没有了之后,对应的实例也就没有了,对应的方法也就没有了。静态类否则,只要你引用了那个静态类的命名空间,它就会一直存在,直到咱们推出系统

相关文章
相关标签/搜索