我想知道 cout 在哪个地方定义的,找来找去找到了 VC/crt/src/stl/cout.cpp
这个文件,里面有这么一句代码:__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout(&fout);
忽略那两个无关紧要的宏,剩下extern ostream cout(&fout);
让我疑惑的是,这里为什么也用 extern ,extern不是用来声明外部变量的吗?
我想知道 cout 在哪个地方定义的,找来找去找到了 VC/crt/src/stl/cout.cpp
这个文件,里面有这么一句代码:__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout(&fout);
忽略那两个无关紧要的宏,剩下extern ostream cout(&fout);
让我疑惑的是,这里为什么也用 extern ,extern不是用来声明外部变量的吗?
3 回答1.1k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
4 回答791 阅读
1 回答869 阅读
1 回答899 阅读
1 回答668 阅读
1 回答775 阅读
外部不外部的,这只是extern这个关键字的字面意思。
实际中,变量加extern的用意是“只声明而不定义一个变量”,类似于写一个没有函数体的函数。