深入探討:main函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼?
更新時間:2013年05月29日 10:47:30 作者:
本篇文章是對main函數(shù)執(zhí)行完畢后,是否可能會再執(zhí)行一段代碼,進行了詳細的分析介紹,需要的朋友參考下
可以使用atexit()函數(shù)注冊一個函數(shù),代碼如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
//int _onexit(void (*function)(void)); //這句可以要也可以不要
void f1()
{
cout << "f1()" << endl;
}
void f2()
{
cout << "f2()" << endl;
}
void f3()
{
cout << "f3()" << endl;
}
void f4()
{
cout << "f4()" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
atexit(f1);
atexit(f2);
atexit(f3);
atexit(f4);
cout << "main function." << endl;
return 0;
}
輸出結果:
main
f4()
f3()
f2()
f1()
注意:atexit函數(shù)是按照棧的規(guī)則來調用注冊的函數(shù),先調用的最后輸出,后調用的最先輸出。
PS:以上是網(wǎng)上大部分人認為的,還有很多人持有不同意見。在此,保留一定的看法!不足之后,還望指正!
復制代碼 代碼如下:
#include "stdafx.h"
#include <iostream>
using namespace std;
//int _onexit(void (*function)(void)); //這句可以要也可以不要
void f1()
{
cout << "f1()" << endl;
}
void f2()
{
cout << "f2()" << endl;
}
void f3()
{
cout << "f3()" << endl;
}
void f4()
{
cout << "f4()" << endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
atexit(f1);
atexit(f2);
atexit(f3);
atexit(f4);
cout << "main function." << endl;
return 0;
}
輸出結果:
復制代碼 代碼如下:
main
f4()
f3()
f2()
f1()
注意:atexit函數(shù)是按照棧的規(guī)則來調用注冊的函數(shù),先調用的最后輸出,后調用的最先輸出。
PS:以上是網(wǎng)上大部分人認為的,還有很多人持有不同意見。在此,保留一定的看法!不足之后,還望指正!
您可能感興趣的文章:
- JavaScript學習筆記(三):JavaScript也有入口Main函數(shù)
- C++改變編程入口為main函數(shù)
- C語言之沒有main函數(shù)的helloworld示例
- c語言main函數(shù)使用及其參數(shù)介紹
- C語言main函數(shù)的參數(shù)及其返回值詳細解析
- C語言中怎么在main函數(shù)開始前執(zhí)行函數(shù)
- 深入Main函數(shù)中的參數(shù)argc,argv的使用詳解
- 解析在main函數(shù)之前調用函數(shù)以及對設計的作用詳解
- C#難點逐個擊破(4):main函數(shù)
- .NET中函數(shù)Main的使用技巧
相關文章
C++中的類型轉換static_cast、dynamic_cast、const_cast和reinterpret_cas
這篇文章主要介紹了C++中的類型轉換static_cast、dynamic_cast、const_cast和reinterpret_cast總結,需要的朋友可以參考下2014-10-10C語言數(shù)據(jù)結構中約瑟夫環(huán)問題探究
這篇文章主要介紹了C語言數(shù)據(jù)結構中約瑟夫環(huán)問題,總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路2023-01-01C++ STL入門教程(7) multimap、multiset的使用
這篇文章主要介紹了C++ STL入門教程第七篇,multimap一對多索引,multiset多元集合的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08Cocos2d-x學習筆記之CCScene、CCLayer、CCSprite的默認坐標和默認錨點實驗
這篇文章主要介紹了Cocos2d-x學習筆記之CCScene、CCLayer、CCSprite的默認坐標和默認錨點實驗,這是一個非常值得研究的問題,需要的朋友可以參考下2014-09-09