Posted on 2007-09-01 12:52
林政夆 阅读(325)
评论(0) 编辑 收藏 引用 所属分类:
C plus plus
#include <iostream>
#include <cstdlib>
#ifndef _CPAUSE_
#define _CPAUSE_
class CPause {
static void system()
{
std::system("pause");
}
public:
CPause()
{
std::atexit(&CPause::system);
}
}m_pause;
#endif
程式相當的簡單,當
CPause類別的建構式喚起時,就會呼叫標準函式庫中atexit()並且執行system("pause")。這樣的話在客戶端程式結束前會呼叫system("pause"),而且m_pause為靜態的全域物件,也就是說當程式執行時該物件會第一個實例化,最後一個被解構銷毀。
註記:
有關於atexit說明如下http://www.cplusplus.com/reference/clibrary/cstdlib/atexit.html