文档章节

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

 

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

© 著作权归作者所有

共有 人打赏支持
上一篇: const
种地瓜
粉丝 9
博文 177
码字总数 45450
作品 0
深圳
程序员
私信 提问
static关键字的3大作用

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

长平狐
2012/09/03
98
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
UFT入门教程(3)—设置检查点、同步点以及参数化

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

iBazinga
2016/09/15
43
0
单例的总结

单例的设计模式 首先我们要知道单例的作用和目的; 目的:就是为了防止我们创建多个对象;一个类只有一个实例; 作用:这样保证了我们创建的实例始终指向这个对象;防止我们创建多个对象; 可以用来...

Dolion-Hou
2016/03/29
4
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周三乱弹 —— 风扇写着先生请自爱

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @蚂蚁哈哈哈 :分享陈奕迅的单曲《落花流水》 《落花流水》- 陈奕迅 手机党少年们想听歌,请使劲儿戳(这里) @车谷 :我发现每天上班都好困 ...

小小编辑
19分钟前
2
0
centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工作当中如果我们错误的配置了文件使服务器不能正常启动或者忘记密码不能登录系统,如何解决这些问题呢?重装系统是可以实现的,但是往往不能轻易重装系统的,下面用忘记密码作为例子讲解如...

李超小牛子
今天
3
0
Python如何开发桌面应用程序?Python基础教程,第十三讲,图形界面

当使用桌面应用程序的时候,有没有那么一瞬间,想学习一下桌面应用程序开发?行业内专业的桌面应用程序开发一般是C++,C#来做,Java开发的也有,但是比较少。本节课会介绍Python的GUI(图形用...

程序员补给栈
今天
6
0
kafka在的使用

一、基本概念 介绍 Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统...

狼王黄师傅
今天
3
0
Android JNI总结

0x01 JNI介绍 JNI是Java Native Interface的缩写,JNI不是Android专有的东西,它是从Java继承而来,但是在Android中,JNI的作用和重要性大大增强。 JNI在Android中起着连接Java和C/C++层的作...

天王盖地虎626
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部