我的编程空间,编程开发者的网络收藏夹
学习永远不晚

EasyC++内部链接性和无链接性

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

EasyC++内部链接性和无链接性

文章转自微信公众号:Coder梁(ID:Coder_LT)

1.内部链接性

当我们使用static关键字,将变量的作用于限制在整个文件时,该变量的链接性为内部链接性。在多文件的程序当中,内部链接性和外部链接性是有所差别的,内部链接性的变量只能在当前文件使用,而常规外部变量是可以跨文件使用的。

但这就带来了一个问题,如果我们在两个文件当中都定义了同一个全局变量,会发生什么呢?


// file1
int error = 20;

// file2
int error = 5;


答案是:这样的做法会报错,因为它违反了单定义规则。

但是我们可以将其中一个变量通过static关键字变成静态内部变量,那么在该文件当中,静态变量将隐藏常规的外部变量:


// file1
int error = 20;

// file2
static int error = 5;

这样做的好处是,当我们确定我们某些变量的使用范围只有当前文件的时候,我们可以使用static关键字来防止它和一些其他文件当中的外部变量相冲突。

2.无链接性

无链接性的变量我们在之前的文章当中也曾经提到过,其实就是在代码块当中使用static关键字创建的。

在代码块当中创建的静态变量会和代码块的生命周期脱钩,虽然它只能在代码块运行时使用,但它的结果会一直存在,并不会随着代码块的执行结束而消亡。


void test() {
 static int ret = 0;
 ret++;
 cout << ret << endl;
}

int main() {
    test();
 test();
 return 0;
}

这段代码的运行之后将会得到1和2,因为ret是一个无链接性的静态变量,它会一直存在。所以当test运行一次之后,它的结果会变成1,并被保存下来。

主要应用场景就是我们希望有些变量能够随着代码块的运行有所沉淀,记录下中途的状态或者是中间结果。有了静态变量就可以不必使用全局变量了。

到此这篇关于EasyC++内部链接性和无链接性的文章就介绍到这了,更多相关C++内部链接性和无链接性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

EasyC++内部链接性和无链接性

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

html怎么设置内部链接

如何设置html内部链接?确定链接页面,获取目标url。创建标签,包含href属性指定目标url,title属性提供描述性文本。添加链接文字或图像。关闭标签。如何设置 HTML 内部链接HTML 内部链接允许用户在同一网站内的不同页面之间
html怎么设置内部链接
2024-05-16

CSS 超链接属性解析:text-decoration 和 color

超链接是网页中常用的元素之一,它能够在不同页面之间建立连接。为了使超链接在页面中有明显的标识和吸引力,CSS 提供了一些属性来调整超链接的样式。本文将重点介绍 text-decoration 和 color 这两个与超链接相关的 CSS 属
2023-10-21

简述CSS样式之链接属性

编程学习网:在我们的网页设计中,如果你想为跳转到其他网页或文件时,会用什么办法解决。没错,就是链接.那么,你了解css链接样式包含哪些属性吗?这些属性又有什么功能呢?下文小编将向大家简述一下这方面的内容。
简述CSS样式之链接属性
2024-04-23

如何优化企业网站内部链接

这篇文章主要介绍了如何优化企业网站内部链接,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  互联网的要义就是“互联成一张网”,对于一个网站来说,通过关键词、外链等优化,让网站
2023-06-10

C语言链接属性怎么应用

小编给大家分享一下C语言链接属性怎么应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是链接属性链接属性与C语言中各个目标文件及函数的链接过程有关,用于认定不
2023-06-29

网站内部链接建设的示例分析

这篇文章主要介绍网站内部链接建设的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!网站地图sitemap网站内链首先要提的那就是网站地图了,网站地图分为2种常见形式,sitemap.html和sitemap.x
2023-06-10

C++存储链接性原理示例详解

这篇文章主要为大家介绍了C++存储链接性原理示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-01-03

怎么区分作用域,存储器,链接属性

本篇内容介绍了“怎么区分作用域,存储器,链接属性”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!作用域C语言中,作用域用来描述标识符能够被哪些
2023-06-15

Android SpannableString设置超链接、颜色、字体等属性

Android SpannableString设置超链接、颜色、字体等属性 在Android中,TextView是我们最常用的用来显示文本的控件。 一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的
2022-06-06

uni-app打开外部链接方式总结(h5和app)

uni-app在app和h5中跳转至外部链接的方式有所不同,需要进行条件编译,下面这篇文章主要给大家介绍了关于uni-app打开外部链接方式(h5和app)的相关资料,文章通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-22

css如何强制使用属性选择器显示空链接

小编给大家分享一下css如何强制使用属性选择器显示空链接,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!强制使用属性选择器显示空链接这对于通过CMS插入的链接特别有
2023-06-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录