文档章节

static 的作用

种地瓜
 种地瓜
发布于 2016/08/15 23:46
字数 534
阅读 39
收藏 0
点赞 0
评论 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
博文 170
码字总数 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
单例的总结

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

Dolion-Hou
2016/03/29
4
0
C语言关键---static

static 这个关键字,我感觉对很多初级程序源和刚接触程序的同学来说,可能都没有完全理解它的含义。至少对我来说对它的认识不是很清楚。因此对它在次总结一下。主要作为自己的备忘录。 1.st...

jackxu2015
2015/08/14
0
0
Android中的final和static

static 修饰符 作用(静态的只能访问静态的) static表示静态的,可以用来修饰成员变量和方法,也可以形成静态代码块。被static修饰的成员变量和方法独立于该类的任何对象,也就是说不依赖类特...

正阳Android
2017/11/24
0
0
C/C++中的static和extern关键字

一.C语言中的static关键字 在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。 (1)修饰局部变量 一般情况下,对于局部变量是存放在栈区的,并...

木木情深
2014/02/13
0
0
UFT入门教程(8)—获取/自定义环境变量

获取环境变量举例 自定义环境变量 1.文件-设置:添加、导入、导出自定义环境变量 2.语句导入自定义变量

iBazinga
2016/09/21
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

自定义OkHttp的UA

背景 上次的问题很明显 由于我们的ua清一色OkHttp导致快速定位到内部应用。 既然如此我们是否考虑可以在UA上做点手脚。 自定义我们的UA呢??? 分析 首先UA在 均为okhttp/3.2.0 大概率是由于...

Mr_Qi
22分钟前
0
0
【scikit-learn】01:使用案例对sklearn库进行简单介绍

sklearn学习笔记:Quick Start 源地址:http://scikit-learn.org/stable/tutorial/basic/tutorial.html # -*-coding:utf-8-*-''' Author:kevinelstri Datetime:2017.2.16'''......

wangxuwei
26分钟前
0
0
Linux Kernel 4.16 系列停止维护,用户应升级至 4.17

知名 Linux 内核维护人员兼开发人员 Greg Kroah-Hartman 近日在发布 4.16.18 版本的同时,宣布这是 4.16 系列的最后一个维护版本,强烈建议用户立即升级至 4.17 系列。 Linux 4.16 于 2018 年...

问题终结者
27分钟前
0
0
Apache配置时.htaccess失效不起作用的原因分析

.htaccess 失效的原因 1. 重写规则有问题,检查自己的重写规则 2.Apache配置问题,配置中没有配置启用 rewrite a2enmod rewrite 3.网站配置文件没有启用配置需要配置 000-default.conf <Dire...

TU-DESGIN
47分钟前
1
0
两个求最大公约数C/C++算法实现

#include<stdio.h> #include<time.h> #include <iostream>using namespace std;//求最大公约数 LCD(Largest Common Division)//短除法 //m=8251, n=6105; int LCD_ShortDiv(int m, ......

失落的艺术
53分钟前
1
0
QueryPerformanceCounter

windows的Sleep函数,睡眠线程指定毫秒数,可以用来做毫秒延时。 对于微秒延时,没有一个现成的函数,但是可以通过 QueryPerformanceFrequency QueryPerformanceCounter 来间接实现。原理就是...

开飞色
今天
1
0
log4j2使用AsyncRoot不显示行号问题处理

<AsyncRoot level="info" includeLocation="true"> <AppenderRef ref="File"/></AsyncRoot><!--1.异步logger,还需要在pom.xml中添加disruptor的依赖。2.includeLocation结合异......

小翔
今天
3
0
安卓手机上 K 歌,声音延迟怎么解决?

这篇文章可以为你提供一个解决录音和播放同步问题的思路,而且解决了声音从手机传输到耳机上有延时的问题。 初识音频 在开始之前,我先简单介绍一下音频相关的基础知识,方便下文理解。 我们...

编辑部的故事
今天
2
0
使用token实现在有效期内APP自动登录功能

使用token实现在有效期内APP自动登录功能 http://sevennight.cc/2016/07/19/auto_login_impl.html

风云海滩
今天
2
0
Spring Boot集成RabbitMQ发送接收JSON

默认情况下RabbitMQ发送的消息是转换为字节码,这里介绍一下如何发送JSON数据。 ObjectMapper 最简单发送JSON数据的方式是把对象使用ObjectMapper等JSON工具类把对象转换为JSON格式,然后发送...

小致dad
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部