C++的main函数执行前后会发生什么
发表于:2024-10-11 作者:千家信息网编辑
千家信息网最后更新 2024年10月11日,这篇文章主要介绍"C++的main函数执行前后会发生什么",在日常操作中,相信很多人在C++的main函数执行前后会发生什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2024年10月11日C++的main函数执行前后会发生什么
这篇文章主要介绍"C++的main函数执行前后会发生什么",在日常操作中,相信很多人在C++的main函数执行前后会发生什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"C++的main函数执行前后会发生什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
问题描述
在C/C++
语言执行过程中是不是所有的动作都由main()
函数引起,来看下面的代码:
#includeclass A{public: A() {printf("This is Constructor\n"); } ~A() {printf("This is destructor\n"); }};A a;int main() {printf("This is main\n");}
这段代码很简单,但是最终是不是只是打印了This is main
这句话,显然不是,实际的结果是按照下面顺序的三句话:
This is ConstructorThis is mainThis is destructor
问题分析
首先main()
函数只不过是提供了一个函数入口,在main()
函数中的显示代码执行之前,会由编译器生成_main函数,其中会进行所有全局对象的构造以及初始化工作。简单来说对静态变量、全局变量和全局对象来说的分配是早在main()
函数之前就完成的,所以C/C++
中并非所有的动作都是由于main()
函数引起的。
同理在main()
函数执行后,程序退出,这时候会对全局变量和全局对象进行销毁操作,所以在main()
函数还会执行相应的代码。
在上面的例子中,a的构造函数会先执行,再执行main,最后会调用a的析构函数。
到此,关于"C++的main函数执行前后会发生什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
函数
全局
C++
代码
学习
变量
对象
问题
动作
更多
面的
帮助
实用
接下来
例子
入口
只不过
只是
实际
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
p的数据库
方舟可以开服务器吗
数据库中使用锁的语句
服务器外网安全访问
庆格网络技术
数据库工程师考核标准
房友中介管理系统数据库
无法连接服务器1
数据库和语言有关吗
服务器显示数据库连接不上
软件开发决策分析
杭州淘顶网络技术
电脑网络技术有前途吗
网络安全体系中部门规章
中科软谈网络安全
东莞网络技术公司招聘
光遇连不上服务器
石狮专业软件开发
中国工业软件开发企业
群晖接服务器
如鹏软件开发
网络技术主管负责什么
怀旧服服务器里的外星人
广州市泓泽网络技术有限公
ps 4中原神无法连接服务器
数据库怎么安全
不能使用宏的数据库对象6
阿里数据库是完全自主的吗
如何获取到车牌数据库
打拐数据库是什么时候成立的