static和const关键字的作用(3)
2017-07-20 15:38
309 查看
static关键字
(1)函数体内的static变量,作用范围为该函数体,内存只被分配一次,其值在下次调用时仍然是上次的值。(2)模块内的static全局变量,可被模块内所有函数访问,但不能被模块外的函数访问。
(3)模块内的static函数,可被模块内的其他函数调用,适用范围限定在声明它的模块内。
(4)类中的static成员变量, 属于类所有,对类的所有对象只有一份拷贝。
(5)类中的static成员函数,属于类所有,不接受this指针,只能访问类的static成员变量。类的静态成员,存在于任何对象之外,对象中不包含任何与静态数据成员有关的数据。通过作用于运算符直接访问。
class :: a;
const关键字
(1)欲阻止一个变量被改变,可使用const关键字。定义时进行初始化。(2)对指针,可指定指针本身为const,表示指针中保存的地址不能被改变,这叫指针常量。可指定指针所指数据为const,表示不能通过指针来修改数据,这叫指向常量的指针,简称常量指针。二者也可同时指定为const。
int a; int *p = &a; const int *p1 = &a; int * const p2 = &a; const int * const p3 = &a; //handle *p++; //yes *p1++; //error p2++; //error
(3)函数声明中,const可以修饰形参,表示这是一个输入参数,函数内部不允许修改其值。而且也提高了函数灵活性。普通变量不能绑定到const变量上,反之可以。这样不管实参是const还是普通变量,都可以传给该形参。
p1 = p; //yes p = p1; //error, const int * cannot to int *
(4)类中的成员函数,若为const类型,表明是一个常量函数,内部不能修改类的成员变量。常变量可调用常量方法不能调用普通方法,普通变量可以调用常量方法,也可以调用普通方法。都是this指针的原理,将在下一篇详述。
(5)类的成员函数,有时其返回值为const类型,以使得其返回值不为左值类型。
相关文章推荐
- 关键字static和const的作用
- C/C++中static和const关键字的作用总结
- static和const关键字尽可能多的作用
- C语言中Static和Const关键字的的作用
- 说出static和const关键字尽可能多的作用
- 请说出static 和const 关键字尽可能多的作用
- static和const关键字的作用
- static和const关键字的作用
- 请说出static和const关键字尽可能多的作用
- C语言中关键字作用(const和static和extern)
- 关键字static、Const、Volatile的作用是什么
- static和const关键字尽可能多的作用 (C/C++)
- C++中const和static关键字的作用总结
- 栈的区别_堆栈的访问效率_关键字static的作用是什么_关键字const有什么含意
- 说明以下关键字的作用 auto static register const volatile extern
- 关键字const有什么含意?修饰类呢?static的作用,用于类呢?还有extern c的作用
- C语言中关键字auto、static、register、const、volatile、extern的作用
- 关键字static/const的作用
- C语言中关键字auto、static、register、const、volatile、extern的作用
- static和const关键字尽可能多的作用