文档章节

static 的作用

种地瓜
 种地瓜
发布于 2016/08/15 23:46
字数 534
阅读 39
收藏 0

 

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指针指向类的对象本身

 

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

© 著作权归作者所有

共有 人打赏支持
种地瓜
粉丝 9
博文 175
码字总数 44807
作品 0
深圳
程序员
static关键字的3大作用

static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的...

长平狐
2012/09/03
63
0
OC-语法:static,extern,const修饰符,静态变量,局部变量,全局变量

一。C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)第一个作用:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函...

水一样的人儿
2015/12/29
2.4K
0
return \break \continue的用法

/* 1、return 语句的作用 2、break语句的作用 3、continue语句作用 */ class Test{public static void main(String[] args){testBreak();testContinue();testReturn();} static void testBre......

又有薄荷香
2013/05/04
0
0
C中的extern-static-const关键词

@date: 2014-06-14 @author: gerui @email: forgerui@gmail.com Contents --- extern的作用一般是用来声音一个外部变量和函数。一般在头文件hello.h中进行的声明,在hello.c中进行的定义。 ...

bairui
2014/06/18
0
0
UFT入门教程(3)—设置检查点、同步点以及参数化

一、插入检查点 插入方式 录制时插入检查点 “活动屏幕”中插入检查点 关键字视图中插入 查看检查点结果 二、插入输出值 插入方式 设置 查看结果 三、设置同步点 录制时,点击选择“同步点”...

iBazinga
2016/09/15
43
0

没有更多内容

加载失败,请刷新页面

加载更多

00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
122
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
4
0
我为什么用GO语言来做区块链?

Go语言现在常常被用来做去中心化系统(decentralised system)。其他类型的公司也都把Go用在产品的核心模块中,并且它在网站开发中也占据了一席之地。 我们在决定做Karachain的时候,考量(b...

HiBlock
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部