const & static & volatile

1.const,static,volatile修饰变量代表什么意思?

  • const:修饰的变量为常量,常量是不允许修改的;

  • static:修饰的变量为静态变量,在内存中只被创建一次,如UITableView中创建cell的代理方法中会用到静态变量标识cell;

    static NSString *cellId = @“XXcell”;

  • volatile:定义变量为一个共享变量。

2.static的作用

  • 1.在类中static修饰的变量属于整个类所有,对类的所有对象共享一份;

  • 2.在类中static修饰的方法属于整个类所有,该方法不能通过this来访问,只能通过类访问;

  • 3.在函数体中static修饰的变量在内存中只被分配一次,多次调用函数体都是调用内存中的同一份。

3.关键字static的作用

  • 函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;

  • 在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;

  • 在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;

  • 在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,840评论 18 399
  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,618评论 0 11
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,400评论 30 472
  • 1.软件开发概述 软件生命周期软件生命周期:软件的产生到报废的整个过程软件生命周期内有:问题定义,可行性分析,总体...
    寒桥阅读 3,712评论 0 0
  • 去往苏州,留给我印象最深的不是苏州园林,也不是那七里山塘。而是平江路的小小巷。 不知为何,我很喜欢那句话“穿过大街...
    冰骨阅读 3,698评论 2 1

友情链接更多精彩内容