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成员变量。
网友评论