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成员变量。

你可能感兴趣的:(const & static & volatile)