关键字解析——static

news/2024/6/29 16:17:13 标签: 语言, c++, c, java, file, 存储
cle class="baidu_pl">
cle_content" class="article_content clearfix">
content_views" class="htmledit_views"> 在C、C++、Java等class="tags" href="/tags/YuYan.html" title=语言>语言中࿰c;都有 static关键字࿰c;作为一个英语单词来讲࿰c;这个词的基本含义是“静态的、固定的”。顾名思义࿰c;这个词是用来声明静态对象的。
1、Cclass="tags" href="/tags/YuYan.html" title=语言>语言中的 static
Cclass="tags" href="/tags/YuYan.html" title=语言>语言程序可以看成由一系列外部对象构成࿰c;这些外部对象可能是变量或函数。而内部变量是指定义在函数内部的函数参数及变量。外部变量定义在函数之外࿰c;因此可以在许多函数中使用。由于Cclass="tags" href="/tags/YuYan.html" title=语言>语言不允许在一个函数中定义其它函数࿰c;因此函数本身只能是“外部的”。
由于Cclass="tags" href="/tags/YuYan.html" title=语言>语言代码是以文件为单位来组织的࿰c;在一个源程序所有源文件中࿰c;一个外部变量或函数只能在某个文件中定义一次࿰c;而其它文件可以通过 extern声明来访问它(定义外部变量或函数的源文件中也可以包含对该外部变量的 extern声明)。
static则可以限定变量或函数为静态存储。如果用 static限定外部变量与函数࿰c;则可以将该对象的作用域限定为被编译源文件的剩余部分。通过 static限定外部对象࿰c;可以达到隐藏外部对象的目的。因而࿰c; static限定的变量或函数不会和同一程序中其它文件中同名的相冲突。如果用 static限定内部变量࿰c;则该变量从程序一开始就拥有内存࿰c;不会随其所在函数的调用和退出而分配和消失。[1]

2、C++中的 static
由于C++基本上兼容Cclass="tags" href="/tags/YuYan.html" title=语言>语言的特性࿰c;为了区别࿰c;将C中继承过来的 static用法称为文件静态(file static)。C++不赞成文件静态࿰c;已经用未命名的命名空间代替它。

 

参考:
[1] Brian W. Kernighan, Dennis M. Ritchie.(徐宝文࿰c;李志 译࿰c;尤晋元 校) C程序设计class="tags" href="/tags/YuYan.html" title=语言>语言(第二版·新版)。
[2] Stanley B. Lippman, Josee Lajoie, Barbara E. Moo. (李师贤 蒋爱军 李晓勇 林瑛 译)C++ Primer中文版。
 
cle>

http://www.niftyadmin.cn/n/612547.html

相关文章

java 类文件_Java的类文件简析

java类文件,也就是字节码文件,结构实际很简单,它不像本地可执行文件那样,类文件保留了源代码中的结构和几乎全部的符号信息。有一块用于描述修饰符、名称、父类、接口、类上注解有一块用于描述所有字段,包括字段修饰符…

用 Spring MVC 轻松进行应用程序开发

Spring MVC 框架。用银行示例介绍如何建模和构建简单的应用程序。示例应用程序包含了已经学过的一些技术(例如依赖注入),但是主要演示 Spring MVC 的特性。 在开始之前,请 下载这篇文章的源代码。请参阅 参考资料 访问 Spring 框架…

java frame中打开frame_java – 打开一个新的JFrame

>无法抗拒,简单不同意答案JFrame frame new JFrame();和frame.setVisible(true);I want to open a new JFrame when the user hits the first calculatebutton and serve as a Output window (Simlar to SPSS output windows ifyou are familiar with them).> don’t do…

轻量级的html开发软件,基于springboot2.0+html+layui等开发的轻量级流程系统,源码分享...

hcc-flow│├─hcc-flow-common 公共模块│ ├─advice(exception)、annotation 异常处理、自定义注解│ ├─constant、enums、vo 参数、枚举│ ├─utiles 工具类│ └─page.table 分页组件│├─hcc-flow-model 数据库对应实体及部分公共类│ ├─dto、vo 交互实体│ ├─m…

java合并两个文件_用java nio合并两个小文件的方法

JAVA NIO 的效率比原来的IO API 效率要高,做了一个简单的测试,合并两个小文件,仅仅测试而已。不能直接用于自己的工程中。package nio.sample.gather;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;i…

html 5的课程体会,HTML5前端开发在校生学习心得

原标题:HTML5前端开发在校生学习心得时光如水,白驹过隙,回顾了一下时间真的在不知不觉中就流逝了, 在繁忙的日常中,在紧凑的课程中,在夜深人静写代码的时候,就像一个调皮的孩子,一个不留神就不知道跑去哪里了.不过我很享受这种充实的生活,比起在学校的悠闲散漫的时光…

一个关于spring+hibernate的例子

开发工具以及环境:windows xp,tomcat 5.5.17,Eclipse 3.2,myEclipse 5.0M2,mysql 5.17 1 、新建一个web project;2、 添加spring capabinities,钩选所需的包.接下来添加hibernate包.注意添加的顺序很重要 ;3 、以下是代码:admin.j…

python算法复杂吗_Python如何处理复杂的计算?

这可能是一个非常简单的问题,但似乎我无法看到它.我有一个顺时针排序的点列表,想要根据this使用以下函数计算这些点的质心(凸多边形):和def calculateCentroid(raLinks,raNodes, links, nodes):orderedPointsOfLinks orderClockwise(raLinks,raNodes, links, nodes…