這用于構(gòu)造此成員類型的對象,確保標準流對象(cin,cout,cerr,clog,cin,cout,cerr和clog)被構(gòu)造和正確初始化。
以下是ios_base::Init的聲明。
class Init;
類維護一個內(nèi)部靜態(tài)計數(shù)器與現(xiàn)有對象的數(shù)量。
class ios_base::Init {
static int init_cnt;
public:
Init();
~Init();
}
ios_base init的成員函數(shù)如下所示 -
Init() - (構(gòu)造函數(shù))將內(nèi)部靜態(tài)計數(shù)器增加1。如果內(nèi)部計數(shù)器的值為0,則構(gòu)造和初始化標準iostream對象(如果它們尚未被構(gòu)造和初始化)。
~Init() - (析構(gòu)函數(shù))將內(nèi)部靜態(tài)計數(shù)器減1。如果內(nèi)部計數(shù)器的值為0時,則標準輸出流被刷新(就好像它們各自的flush成員函數(shù)被調(diào)用一樣)。請注意,這不會破壞任何標準對象,其持續(xù)時間是到程序終止。