在程序启动时执行函数
作者: 来源: 添加时间:2006-5-24 13:34:34为了保证这样可行,可以在全局对象的构造器中调用初始化函数。全局对象概念上是在 main() 开始之前构造的。例如:
class Init
{
public:
Init()
{
log_activity();
}
};
Init init; // global instance
int main()
{
activity_report* rep=read_log();
//..
}
在 main() 开始执行时,init 已经构造好了。在它的构造过程中,它调用了函数log_activity()。因此,main() 在开始执行时可以安全地立即从日志文件中读取数据。
这种方法还被标准模板库(Standard Template Library)广泛采用。例如,iostream对象cout和cin都是在 main() 之前构造的。C++ 如何保证全局对象在 main() 之前构造的呢?在大多数实现中,内核运行特殊的启动代码,这个特殊的启动代码在启动 main() 之前完成所有的初始化。
站内搜索