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