鍍金池/ 問答/C++/ extern ostream cout(&fout); 這里為什么要用

extern ostream cout(&fout); 這里為什么要用 extern ?

我想知道 cout 在哪個(gè)地方定義的,找來(lái)找去找到了 VC/crt/src/stl/cout.cpp 這個(gè)文件,里面有這么一句代碼:
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout(&fout);
忽略那兩個(gè)無(wú)關(guān)緊要的宏,剩下
extern ostream cout(&fout);

讓我疑惑的是,這里為什么也用 extern ,extern不是用來(lái)聲明外部變量的嗎?

回答
編輯回答
莫小染

外部不外部的,這只是extern這個(gè)關(guān)鍵字的字面意思。
實(shí)際中,變量加extern的用意是“只聲明而不定義一個(gè)變量”,類似于寫一個(gè)沒有函數(shù)體的函數(shù)。

2017年10月23日 02:32