美文网首页
OC中的 static、extern 、const关键字

OC中的 static、extern 、const关键字

作者: 阳光的影子v | 来源:发表于2016-07-23 18:35 被阅读115次

    C 语言中 static 关键字的作用

    • 在模块(文件)内的 static 全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;在模块内的 static 函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内。即对其他模块隐藏
    • 函数体内 static 变量的作用范围为该函数体,该变量被分配到静态存储区,所以内存只被分配一次(只初始化一次,并且默认初始化为0),因此其值在下次调用时仍维持上次的值。即具备持久性和默认值为0

    OC 中 static 关键字增加的作用

    • 在类中的 static 成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;在类中的 static 成员函数属于整个类所拥有,这个函数不接收 this 指针,因而只能访问类的 static 成员变量。

    extern 关键字

    • 在模块中使用其他模块声明的全局变量,使用 extern 关键字来获取。

    const 关键字

    • const 关键字修饰右边的变量,这个变量不可修改(只读的)。
    • 注意
    I 常量指针
    // 初始化之后不能赋值,指向的对象可以是任意对象,对象可变。
    NSString * const pt1;
    II 指向常量的指针
    // 初始化之后可以赋值,即指向别的常量,指针本身的值可以修改,指向的值不能修改
    const NSString * pt2;
    III 指向常量的常量指针
    const NSString *  const pt3;
    

    相关文章

      网友评论

          本文标题:OC中的 static、extern 、const关键字

          本文链接:https://www.haomeiwen.com/subject/hojwjttx.html