C++中_onexit()用法简述
时间:2022-05-03
本文章向大家介绍C++中_onexit()用法简述,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
引问:main 主函数执行完毕后,是否可能会再执行一段代码?
答案:可以,可以用_onexit 注册一个函数,它会在main 之后执行。
知识了解:
(1)使用格式:_onexit(int fun()) ,其中函数fun()必须是带有int类型返回值的无参数函数;
(2)_onexit() 包含在头文件cstdlib中,cstdlib为c语言中的库函数;
(3)无论函数_onexit() 放到main中任意位置,它都是最后执行。
程序举例分析:
#include
#include
using namespace std;
int func1(),func2(),func3();
int main(int argc,char * argv[]){
_onexit(func2);
_onexit(func1); //在此处不断排列组合三条语句的执行顺序
_onexit(func3);
cout<<"First Line"< cout<<"Second Line"<}
int func1()
{
cout<<"fun1() executed!"< return 0;
}
int func2()
{
cout<<"fun2() executed!"< return 0;
}
int func3()
{
cout<<"fun3() executed!"< return 0;
}
根据多次重新排列组合 _onexit(func2); _onexit(func1); _onexit(func3);的执行顺序可知:_onexit()在main()中越靠后,则其执行顺序越靠前;即越在前面的就越延后执行,有点类似‘栈’(先进后出)的特点。
- struts2关于action拦截器使用方法 现记录如下
- Struts2【入门】
- 通过ORA错误反思sql语句规范(r4笔记第41天)
- 算法01 七大排序之:冒泡排序和快速排序
- 自下向上的编写容易阅读的代码(上)
- Hibernate【inverse和cascade属性】知识要点
- 算法02 七大排序之:直接选择排序和堆排序
- Hibernate【映射】续篇
- Java基础-11总结Eclipse使用,API,Object类
- Hibernate【映射】知识要点
- 算法03 七大排序之:直接插入排序和希尔排序
- Hibernate入门这一篇就够了
- 算法04 七大排序之:归并排序
- Hibernate面试题大全
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- laravel 验证错误信息到 blade模板的方法
- thinkPHP+LayUI 流加载实现功能
- Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
- laravel5.2表单验证,并显示错误信息的实例
- ThinkPHP 5.1 跨域配置方法
- PHP调用接口API封装的例子
- php-fpm超时时间设置request_terminate_timeout资源问题分析
- laravel框架添加数据,显示数据,返回成功值的方法
- PHP的静态方法与普通方法用法实例分析
- 解决PHP使用CURL发送GET请求时传递参数的问题
- php弹出提示框的是实例写法
- laravel 时间格式转时间戳的例子
- php新建文件的方法实例
- 解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
- PHP迭代器和生成器用法实例分析