boost::quick_exit实践代码分享
在C++11标准中,引入了quick_exit函数来替代exit函数,并提供了类似于atexit()函数的接口注册quick_exit调用的处理函数。
但是,在实际开发中,我们可能需要在程序结束之前做一些清理工作,比如清除缓存、释放资源等。这时候,quick_exit就会变得非常有用,它可以确保程序结束前执行我们注册的处理函数。
下面是一个简单的boost::quick_exit的示例程序:
#include <iostream>
#include <boost/lexical_cast.hpp>
#include <boost/format.hpp>
void at_quick_exit_1()
{
std::cout << "at_quick_exit_1" << std::endl;
}
void at_quick_exit_2()
{
std::cout << "at_quick_exit_2" << std::endl;
}
int main(int argc, char* argv[])
{
std::at_quick_exit(at_quick_exit_1);
std::cout << "before quick_exit call" << std::endl;
std::quick_exit(0);
std::cout << "after quick_exit call" << std::