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

EasyC++自动存储持续性

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

EasyC++自动存储持续性

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

自动存储持续性:

这个概念乍一看有些拗口,其实它很简单,指的是在函数定义中声明的变量的存储持续性是自动的:它们在程序开始执行其所属的函数或代码块时被创建,在执行完函数或代码块时,它们使用的内存被释放。

在默认情况下,我们在函数中声明的变量和函数的参数都是自动存储持续性,它的作用于为局部,没有链接性。

这里的链接性描述了名称如何在不同的单元之间共享,链接性为外部的名称可以在文件之间共享,链接性为内部的名称只能由一个车文件中的函数共享。自动变量的名称没有链接性,也就是不能共享。

这段话是一段专业性描述,看不太明白没有关系。简单理解,就是说如果我们在main函数当中声明了一个变量a,并且在函数test当中也声明了一个同样的变量a。两者之间是完全独立的,彼此不会有任何影响,因为它们只有在声明了它的函数中才能使用。

当程序执行test函数时,test中的a才被创建,当test执行结束,a即被销毁。

其实变量的作用域的最小划分并不是函数,而是代码块。我们在代码块当中创建的变量,它的使用范围作用域就只有当前代码块。例如:


int main() {
 int a = 4;
    {
        int b = 10;
    }
}


我们在main函数当中定义了一个变量a和一个变量b,但是这两个变量定义的位置不同。b定义在了一个代码块(代码块使用花括号表示)当中,对于a来说,它的作用域是整个main函数,而b只在花括号当中生效。

更有意思的是下面这段代码:


int main() {
    int a = 4;
    {
        int a = 5;
        cout << a << endl;
    }
    cout << a << endl;
}

答案是输出的结果是5和4,为什么呢?

因为内部和外部都有一个变量a,当执行内部代码的时候,编译器隐藏了外部的定义。而程序离开代码块时,外部的定义又重新恢复。

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

免责声明:

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

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

EasyC++自动存储持续性

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

下载Word文档

猜你喜欢

Spark的持续性存储有哪些选项

Spark的持续性存储选项主要有以下几种:1、HDFS:Hadoop分布式文件系统是Spark最常用的持续性存储选项之一,它提供了可靠的分布式存储和计算能力。2、Apache Cassandra:这是一个高可用性、高性能的分布式数据库系
Spark的持续性存储有哪些选项
2024-03-05

C++存储持续性生命周期原理解析

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

AmazonAurora是否支持自动扩展存储容量

当您在创建 Amazon Aurora 数据库实例时,可以选择启用自动扩展存储选项。一旦启用了自动扩展存储功能,Aurora 会根据数据库的存储使用情况自动增加存储容量,以确保数据库实例有足够的空间来存储数据。在自动扩展存储功能下,Ama
AmazonAurora是否支持自动扩展存储容量
2024-04-09

PHP 性能优化:持续集成与自动化优化

通过持续集成(ci)和自动化优化工具,您可以实现持续的 php 应用程序性能改进。ci 允许快速识别影响性能的更改,而自动化优化工具通过识别和修复代码瓶颈来节省时间和精力,从而提升用户体验,节省开发时间和资源。PHP 性能优化:持续集成与自
PHP 性能优化:持续集成与自动化优化
2024-05-10

自动执行存储过程

当需要定时生成一个报表,并且不需要任何操作。那就需要自动执行存储过程的任务。 步骤如下 1、打开SQL Server Management Studio,SQL Server代理--作业--点右键--新建作业 2、作业的名称取为:test001 并进行说明,
自动执行存储过程
2018-04-08

PHP 单元测试自动执行与持续集成

php 单元测试通过 phpunit 实现自动执行,可以集成到持续集成管道中,从而确保代码质量、及早发现错误并提高开发效率。1. 安装 phpunit:composer require --dev phpunit/phpunit 2. 创建
PHP 单元测试自动执行与持续集成
2024-05-06

Linux持续集成自动化安装Maven的方法

解压 Maven 包tar xf apache-maven-3.5.4-bin.tar.gz移动 解压后的maven文件 到 /usr/local/mv apache-maven-3.5.4 /usr/local#!/bin/bash #m
2022-06-04

AmazonAurora是否支持自定义存储引擎和插件

Amazon Aurora是基于MySQL和PostgreSQL构建的关系型数据库服务。它提供了高性能、高可用性和可扩展性,通过其创新性的存储和复制架构,使得用户可以获得比传统数据库更好的性能。然而,由于Aurora的特殊架构和优化,不支
AmazonAurora是否支持自定义存储引擎和插件
2024-04-09

利用Hudson持续集成来执行Android自动化测试

当你套用Athrun、Robotium等框架,针对自己的项目写完了一堆自动化测试脚本后,在Eclipse之外怎么让它们可以持续性地跑起来并展现报告呢?据我了解,方便的方法大致有两个:其一,利用Hudson(或Jenkins)持续集成系统;其
2022-06-06

Oracle中怎么使用自动存储管理

在Oracle数据库中,自动存储管理(Automatic Storage Management,ASM)可以通过以下步骤来进行配置和使用:在安装Oracle数据库时选择安装ASM组件。创建ASM实例:在Oracle数据库服务器上创建一个A
Oracle中怎么使用自动存储管理
2024-04-19

攻克持续集成难关:PHP 项目的自动化秘笈

在 PHP 项目开发中,实施持续集成(CI)至关重要,它可以提高代码质量、减少错误并加速开发流程。这份指南将提供一个分步指南,帮助您在 PHP 项目中设置自动化的持续集成管道。
攻克持续集成难关:PHP 项目的自动化秘笈
2024-02-17

PHP 持续集成中的 Jenkins:构建和部署自动化大师

使用 Jenkins 作为持续集成(CI)工具,可以实现 PHP 应用程序的自动化构建和部署,从而提高开发效率和代码质量。
PHP 持续集成中的 Jenkins:构建和部署自动化大师
2024-02-17

编程热搜

  • 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动态编译

目录