函数内Static初始化的用法

[C++探索]初始化列表,static成员,友元函数,内部类,匿名对象 我们共同进步本系列持续更新,关注我,带你了解更多C++知识下期再见。 阅读详情

如果想第一次使用的时候再初始化,而程序正常退出的时候,再释放资源。那么应该将其放到某个函数中,作为static声明。

#include "Object.h"
#include "Container.h"
#include <iostream>

using namespace std;

static Object sglobal(" static global");
Object global(" global");

void func()
{
 cout << "  In func()" << endl;
 Container cc;
 cout << "  Out func()" << endl;
}

void func2()
{
 cout << "  In func2()" << endl;
 Container cc;
 cout << "  Out func2()" << endl;
}

int main()
{
 cout << "main() begin." << endl;
 Object local(" local");
 func();
 func2();
 //Container cc;
 cout << "main() end." << endl;
 return 0;
}

输出是:

 

C:/Project/CPP/LearnCpp/debug>InitializationOrder.exe
 static global initializing...
 global initializing...
 object in container initializing...
 global in container initializing...
 static global in container initializing...
main() begin.
 local initializing...
  In func()
 Static In Container Constructor initializing...
 In Container Constructor initializing...
Initializing Container ...
 In Container Constructor releasing...
  Out func()
Releasing Container ...
  In func2()
 In Container Constructor initializing...
Initializing Container ...
 In Container Constructor releasing...
  Out func2()
Releasing Container ...
main() end.
 local releasing...
 Static In Container Constructor releasing...
 static global in container releasing...
 global in container releasing...
 object in container releasing...
 global releasing...
 static global releasing...
基于CANoe的车载以太网测试 以太网测试 CANoe 阅读详情

相关推荐

STM32F103C8T6心电采集实战:从PCB设计到上位机开发的完整指南(附TI杯开源资料)

本文详细介绍了基于STM32F103C8T6的心电采集系统开发全流程,从PCB设计到上位机开发,特别适合大学生电子设计大赛参赛者参考。内容涵盖硬件设计精要、软件算法优化及上位机开发技巧,并附TI杯开源资料,帮助开发者低成本实现医疗级心电信号采集。

kafka6courier的博客 194

c语言函数中的static变量初始化,C语言静态变量的初始化

通过一个例子说明C语言如何初始化静态变量。给出C语言代码typedef int (* Fun)(void * obj, int argc, int *argv);struct FunctionSpec {const char *name; /* 8 */Fun call; /* 8 */unsigned char nargs; /* 1 */unsig...

weixin_30996983的博客 1819

ArcFace vs 传统算法:实测MTCNN+ArcFace在PyCharm中的识别准确率(含完整对比数据)

本文通过PyCharm开发环境实测MTCNN+ArcFace组合在人脸识别中的性能表现,并与传统算法进行多维度对比。实验数据显示,ArcFace在LFW数据集上达到99.83%的准确率,显著优于传统方法。文章还提供了完整的代码实现和工程优化建议,为开发者提供实用的技术参考。

醉三国 235

static变量初始化

1.在C++中,全局static变量和class的static成员变量在main函数之前初始化,main函数之后销毁 2. 函数内部的局部static变量在该函数第一次被调用时初始化,在main函数之后销毁 3.对于static数据即使是函数内部的对象则存放在全局数据区,全局数据区的数据并不会因为函数的退出就将空间释放。 #include using namespace std;

chivalry 7035

基于Python的二手奢侈品电商平台商品保值率数据爬取与分析

本文旨在探讨如何利用Python网络爬虫技术获取二手奢侈品电商平台商品数据,并通过数据分析研究奢侈品的保值率特性。研究将使用最新的爬虫技术(包括Playwright、异步处理和数据清洗技术)来高效获取数据,并利用Pandas、Matplotlib等数据分析库进行深入的数据可视化分析。本文详细介绍了爬虫的设计思路、实现过程以及数据分析方法,为奢侈品投资和消费提供数据参考。关键词:Python爬虫、奢侈品保值率、数据分析、Playwright、异步处理。

2201_76125261的博客 512

【ESP32使用MAX98357播放音频】

在物联网和智能家居领域,音频播放功能越来越受到重视。ESP32作为一款功能强大的微控制器,结合MAX98357音频放大器模块,可以实现高品质的音频播放。本文将详细介绍如何使用ESP32的I2S接口通过MAX98357进行音频播放。

vor234的博客 7529

C++中static变量的初始化

C++中static变量的初始化

转载和创作优秀的博客 5258

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1168

c# static变量的初始化

用static声明的变量或函数,都是属于类的,而不属于类对象,所以最好不要在类的构造函数中为static变量初始化(不需要初始化的就不用顾忌了,因为c#默认会给static变量初化得,比如staitc整型变量,会初始化为0)。如果在类的构造函数中初始化static变量,那只有在你new过该类的对象后,static变量的初始化才起作用。 一、 例如:以下代码,定义了一个static_tes

LH1963的博客 1万+

基于改进Unet的多场景水果图像分割与分类研究

本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。

AI的内部世界的博客 304

GPS系统跟踪捕获算法的Verilog实现在FPGA

本文将介绍GPS系统中的跟踪捕获算法,并提供该算法的Verilog实现在FPGA上运行的源代码。常用的方法是将接收到的信号与一个本地振荡器产生的参考信号进行混频,然后使用带通滤波器提取出希望得到的频率分量。码跟踪的目的是通过检测接收到的信号中的码片序列来实现对导航数据的解调。以上是一个简化的GPS系统跟踪捕获算法的Verilog实现,其中包含了时间检测、频率跟踪和码跟踪三个模块。GPS信号由载波频率和导航数据组成。跟踪捕获算法的目标是通过对接收到的信号进行处理,从而获取到准确的载波频率和导航数据。

PixelEnigma的博客 1108

C++学习:static关键字的作用和用法

四大作用 作用1:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 作用2:保持变量内容的持久。(static变量中的记忆功能和全局生存期)存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static...

Lingyun 854

数据挖掘实战-基于情感分析+网络语义分析对泾阳茯茶用户评论进行文本分析

本实验数据集来源于京东商城,使用Python爬虫获取泾阳茯茶商品的用户评论,共计3416条数据,字段有用户ID、用户昵称、IP属地、评论时间、评分、评论内容,共计6个字段信息。'''作者:艾派森csdn主页:https://blog.youkuaiyun.com/m0_64336780时间:2024/5/28'''# 导包import csv# 获取评论q=0.01',q=0.9,en;b_avif=1;b_dw=1412;b_dh=650;areaId=27;

m0_64336780的博客 1万+

C++中static用法之一(只在程序启动的时候初始化一次,后续不在初始化)(函数内调用同名外部变量用作用域解析运算符::)

C++中static定义静态变量时,只在程序启动的时候初始化一次,后续不在初始化,且定义的该变量只能在该文件中使用,而不能夸文件使用。要想在其它文件中使用全局变量,则需要在定义的文件中使用extern关键字进行定义,并且在使用的其它文件中,同样用extern关键字进行申明,然后才可以使用。当然,如果在同一个文件中,同名的局部变量和全局变量共存,则该函数内自动使用局部变量,想要使用全局变量,则要作用...

净无邪博客 3739

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[转]C++ 类中的static成员的初始化和特点

在C++的类中有些成员变量初始化和一般数据类型的成员变量有所不同。以下测试编译环境为: ➜ g++ -v Using built-in specs. COLLECT_GCC=g++ Target: x86_64-linux-gnu gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)   测试代码(g++编...

weixin_33753845的博客 122

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Java之旅 (6) 初始化和清理

用构造函数保证初始化,JAVA的对象创建和初始化是同一个概念,你不能要这个而不要那个。        方法的重载    区分经重载的方法:唯一的参数类型的列表       构造函数:如果没有构造函数,编译器会帮你创建一个无参类型的构造函数,但是如果你构造了一个,那么       不管你构造的是个啥样的,编译器都不会再帮你构造了。        this的用法:this只应用

JAVA之旅 5093

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

c++ static修饰变量、函数、对象、数组

文章目录static相关语法一、static 修饰变量修饰局部变量修饰全局变量修饰类中变量内存初始化时机二、static修饰函数修饰普通函数:全局静态函数修饰类中的函数:静态成员函数三、static修饰类对象 static相关语法 预备知识 静态存储区:全局变量和static变量,在静态数据区,内存中所有的字节默认值都是0x00,所以全局变量和static变量的初始值都是0。 一、stati...

Nick_Zhang_优快云的博客 2826

c++中static的用法

1、static和const修饰类的成员函数 不可以同时用static和const修饰类的成员函数。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数const this*。但当一个成员为static的时候,该函数是没有this指针的。也就是说此时const的用法和static是冲突的。 2、静态成员的特点: (1)static数据成员在...

qq_42247445的博客 1517

[转载]C++类中static关键字的详细用法

原文地址:C++类中static关键字的详细用法作者:嘎子儿 C++类中谈到static,我们可以在类中定义static成员,static成员函数!C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!这句话可能比较拗口,其实可以这么理解:每个sta...

angyongq537199的博客 150

C++的const和static的用法

const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间。      static表示的是静态的。类的静态成员函数、静态成员变量是和类相关的,而不是和类的具体对象相关的。即使没有具体对象,也能调用类的静态成员函数和成员变量。一般类的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。      在C++中,static静态成员变...

哲学天空的博客 543

static、const和static const

本文转载自http://hi.baidu.com/sytarchen/item/c7cc767968b5ee3471442342  const定义的常量在函数执行之后其空间会被释放,而static定义的静态常量在函数执行后不会被释放其空间。 static 表示的是静态的。类的静态成员函数,成员变量是和类相关的,不是和类的具体对象相关,即使没有具体的对象,也能调用类的

l494926429的博客 2875

C++ static、const和static const 以及它们的初始化

const定义的常量在函数执行之后其空间会被释放,而static定义的静态常量在函数执行后不会被释放其空间。 static 表示的是静态的。类的静态成员函数,成员变量是和类相关的,不是和类的具体对象相关,即使没有具体的对象,也能调用类的静态成员函数,成员变量。一般的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。   在c++中,static静态成员变量不能在类

h_wlyfw的专栏 1440

static关键字用法

static修饰局部变量 静态局部变量存储在全局静态区 生存期为整个程序生命周期,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后,尽管该变量还继续存在,但不能使用它。 静态局部变量若在声明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。 static修饰全局变量 非静态全局变量的作用域是整个源程序,也即在各个源文件中都是有效的...

月雲之霄的博客 219

C++ 类中的static成员的初始化和特点

原文地址:https://blog.youkuaiyun.com/men_wen/article/details/64443040 C++ 类中的static成员的初始化和特点 在C++的类中有些成员变量初始化和一般数据类型的成员变量有所不同。以下测试编译环境为: ➜ g++ -v Using built-in specs. COLLECT_GCC=g++ Ta...

QTVLC的博客 1138
上一篇: OS161 源代码阅读-2
下一篇: 比较全的Unix家族族谱(看看你知道多少)
DanceFire
博客等级 码龄26年 91粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值