在main()函数之前调用Bootstrap函数

在所有可执行程序中,调用的第一个函数通常都是其入口main(),但可以使用一些技巧来修改这种行为。全局对象(即具有文件作用域的对象)能满足这种要求,因为全局对象将在程序的main()函数被调用之前创建。程序员可以创建一个类,其默认构造函数将调用所有的bootstrap函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//bootstrap
#include <iostream>
using namespace std;
class Bootstrap{
public:
    Bootstrap(){
        cout<<"Bootstrap.\n";
    }
    ~Bootstrap(){
        cout<<"~destory.\n";
    }
};
Bootstrap req;
int main(){
    cout<<"hello world!\n";
    return 0;
}