读书笔记系列之C/C++关键字(一)

来源:互联网 发布:国家对于大数据发展 编辑:程序博客网 时间:2024/04/30 01:14

1.Static

    在C语言中,Static有三个明显作用:

    a.在函数体中,一个被声明静态的变量在这一函数被调用过程中其值维持不变;

    b.在模块内(但在函数体外),作用范围是有限制的,如果一个变量被声明为静态的,那么该变量可以被模块中的所有函数访问,但不能被模块外的其他函数访问;

    c.内部函数应该在当前源文件中说明和定义,对于可在当前源文件以外使用的函数,该在一个头文件中声明,使用这些函数的源文件要包含这个头文件。


    static全局变量只初始化一次,防止在其他文件单元中被引用。static局部变量只被初始化一次,下一次运算的依据是上一次的结果值。static()函数只在一个源文件中有效,不能被其他源文件使用。


    C++中,静态数据成员有以下四个特点:

    a.静态数据成员被当作类的成员,无论这个类的对象被定义了多少个,静态数据成员也只有一个复制品,这一类型的所有对象共享访问。

    b.静态数据成员全部储存在全局数据区。在没有产生类的实例时,程序员也可以使用。

    c.遵从public,private,protected访问规则。

    d.static成员变量初始化在类外,此时不能加上static关键字。private,protected的static成员虽然可以在类外初始化,但是不能在类外被访问。


    静态数据成员的优势:

    a.不存在与程序中的其他全局名字冲突的可能性。

    b.可以实现Information hiding,静态数据成员可以是private成员,但全局变量不能。

0 0
原创粉丝点击