static 的作用

原创
2016/08/15 23:46
阅读数 104

 

static的作用

不考虑类,static的作用主要有三个:

1.第一个作用,隐藏

    当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性,假设有文件test1.cpp,main.cpp,

test1.cpp文件为

int a=23;

void getm()

{

    cout<<"wodingdong"<<endl;

}

 

那么在这里,test1.cpp的变量a和函数getm()在main.cpp等其他文件可以访问中能够访问,若是加上static,就会对其他的文件隐藏,所以利用这个特性,可以在不同的文件中定义相同的变量和函数名称,不必担心命名的冲突。

2,第二个作用,默认初始化为0,包括未初始化的全局静态变量与局部静态变量。

3,第三个作用,保持局部变量内容的持久

        函数内的自动(局部)变量,当调用时就存在,退出时就消失,但局部变量虽然在函数内定义,但静态局部变量始终存在着,也就是说它的生存周期为整个源程序,其特点是只进行一次初始化且具有“记忆性”

 

类中stati的作用:

c++重用了static个关键字,并赋予它与前面不同的含义,表示一个类而不是属于此类的任何特定对象的变量和函数

 

静态数据成员

    在类内数据成员的声明加上关键字static,该数据成员就是类内的静态数据成员

     static数据成员必须在类定义体的外部定义

 

静态成员函数

        静态成员函数和静态数据成员一样,都是类的内部实现,属于类定义的一部分,它为类服务面不是为了某一个具体的对象服务,

        因为普通成员函数总是具体的属于某个类的具体对象,所以普通的成员函数一般都隐含了一个this指针, this指针指向类的对象本身

 

参考了《王道-程序员求职宝典》

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部