在main()前面或后面调用自己的函数

本文介绍了一种在C++中main函数前后调用自定义函数的方法。通过使用命名空间内的结构体及其构造和析构函数,可以在程序启动前和结束时执行特定操作。这种方式适用于需要初始化资源或进行清理工作的场景。

今天面试遇到一个问题,没答上来,特此记录一下。

问题是:如何在main()前面或后面调用自己的函数?

参考文章http://gujiaxi.github.io/blog/2012/05/21/zai-main-qian-slash-hou-diao-yong-han-shu/后得出一下代码

注:该文章最后一部分应该属于笔误,实际上是在main()后面调用函数

<!-- lang: cpp -->

#include <stdio.h>

void befor() 
{
	printf("hello, before main\n");
}

void after() 
{
	printf("hello, after main\n");
}

namespace 
{
	struct _caller 
	{
		_caller() { befor(); }
		~_caller() { after(); }
	} caller; 
}

int main() 
{
	printf("hello, world\n");
	return 0;
}

输出结果:

hello, before main
hello, world
hello, after main

转载于:https://my.oschina.net/js2854/blog/200019

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值