为什么要引入static?static的内部机制定义是什么?
时间:2023-05-11 13:32:03来源:创视网

为什么要引入static

函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。

static的内部机制

静态数据成员要在程序一开始运行时就必须存在。因为函数在程序运行中被调用,所以静态数据成员不能在任何函数内分配空间和初始化。

这样,它的空间分配有三个可能的地方,一是作为类的外部接口的头文件,那里有类声明;二是类定义的内部实现,那里有类的成员函数定义;三是应用程序的main()函数前的全局数据声明和定义处。

静态数据成员要实际地分配空间,故不能在类的声明中定义(只能声明数据成员)。类声明只声明一个类的“尺寸和规格”,并不进行实际的内存分配,所以在类声明中写成定义是错误的。它也不能在头文件中类声明的外部定义,因为那会造成在多个使用该类的源文件中,对其重复定义。

static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间,静态

数据成员按定义出现的先后顺序依次初始化,注意静态成员嵌套时,要保证所嵌套的成员已经初始化了。消除时的顺序是初始化的反顺序。

标签: 为什么要 引入static static的 内部机制

生活指南
  • 小屏平板也不是一无是处?你怎么看待这件事?

    2023年了,还有必要买iPadmini6吗?iPad mini6迎来了改款,256GB首发4999元毫不犹豫就直接拿下。但是去

  • 沈阳市植物园有哪些主题花展?沈阳市植物园门票介绍

    沈阳市植物园有哪些主题花展?园区三季鲜花绽放、四季旅游景色各异。其中4——5月份举办郁金香花展、杜鹃

  • 购买开放式基金的费用是多少?开放型基金的特点是什么?

    购买开放式基金的费用是多少?购买开放式证券投资基金一般会产生购买基金时的认购费或者申购费,以及基金

  • 江西这5名同学,上了人民日报!

    经过严格选拔和评审,全国4 5万名优秀研究生、6万名优秀本专科学生、2万名优秀中职学生荣获2021—2022学年

  • 《蛋仔派对》五月瓶盖盲盒上新爆料_微速讯

    蛋仔派对瓶盖盲盒上新了,这次全部都是水果,这些皮肤都是非常的有趣,这么可爱的水果蛋仔一口一个,想知道

  • 个人重疾险如何买?怎么买百万医疗保险?

    个人重疾险如何买?1、看其保障内容:购买重疾险首先要看其保障内容和保障范围,结合自身的情况,估计发病

  • 创元科技公司总部在哪里?创元科技主要产品有哪些?

    创元科技公司总部在哪里?000551 创元科技公司于1993年9月28日经江苏省体改委以体改生(1993)256号文批

  • 刘德华原名叫什么?刘德华有儿子和女儿吗?

    刘德华原名叫什么?刘德华的原名就叫刘德华,他在上学的时候,家里人曾给他取名叫做刘福荣,不过这个名字

  • 肉瘤样癌和癌肉瘤的区别有哪些?肉瘤样癌如何治疗?

    肉瘤样癌和癌肉瘤的区别有哪些?肉瘤样癌与癌肉瘤是有根本性的区别的,肉瘤样癌是一种类似肿瘤问题的癌症

  • 电脑如何分区?电脑怎么截图?

    电脑是根据指令进行数据处理的电子设备,应用领域广泛,可以进行逻辑运算,信息管理,辅助技术,多媒体

  • 新净值理财产品是什么意思?新净值理财产品的特点是什么?

    新净值理财产品是什么意思?新净值理财产品的特点是什么?以下是小编为您整理的内容,希望对您有所帮助。

  • 股票休市前几分钟不可以交易? 休市时交易账户能登录吗?

    股票休市前几分钟不可以交易?股市休市前不能交易的时间一般是14:57至15:00这段时间,每一个交易日股票

  • 资产注入股票是什么意思?资产注入股票时应注意什么?

    资产注入股票是什么意思?资产注入通常指上市公司的大股东将其资产出售给上市公司的行为。同时,上市公司

  • 什么路最窄 什么路最窄打三个数字 狭路相逢猜三个数?

    什么路最窄1、答案是:冤家路窄2、解谜过程:理解很简单,一想到这个词语就可以反应过来,无需多言。3、

  • 快看点丨马斯克:未来十年,新车有一半是电动汽车!

    (资料图)马斯克表示目前让他魂牵梦绕的2件事是让自己的星舰进入预定的轨道以及实现真正意义的自动驾驶,同时他期望在2022年底前完成。为了

  • 环球百事通!乘联会:预估8月新能源乘用车厂商批发销量62.5万辆 同比增长约100%

    (相关资料图)9月5日消息,乘联会微信公众号发布消息称,8月全国新能源乘用车市场保持强势良好态势,7月16家厂商批发销量万辆以上企业的全月

  • 民生
    • 红杉资本app是真的吗?红杉资本投资了哪些公司?

    • AMD第一季度销售强劲 有望推出新一代主流显卡 你知道吗?

    • 结婚证公证需要双方到场吗?公证结婚证需要带什么材料?

    • 花葵是什么?花葵的解释介绍?