是否有多余的c/c代码流对象扩展?
vs2010的代码如下所示
用extern修饰了。 感觉是多余的,理由:如果使用者中包含iostream,包含这个头文件,就没有必要使用extern。
extern的正确用法是在同一项目下,在某个头文件中定义变量后,其他文件在extern中重新声明即可使用。
//iostreamstandardheaderformicrosoft
#pragma once
#ifndef _IOSTREAM_
#define _IOSTREAM_
#ifndef RC_INVOKED
#包含
#pragmapack(push,_CRT_PACKING ) )。
#pragmawarning(push,3 ) ) ) ) ) ) ) ) ) ) ) ) ) )。
_STD_BEGIN
#ifdef _M_CEE_PURE
_ _ pure _ appdomain _ globalexternistreamcin,*_Ptr_cin;
_ _ pure _ appdomain _ globalexternostreamcout,*_Ptr_cout;
_ _ pure _ appdomain _ globalexternostreamcerr,*_Ptr_cerr;
_ _ pure _ appdomain _ globalexternostreamclog,*_Ptr_clog;
_ _ pure _ appdomain _ globalexternwistreamwcin,*_Ptr_wcin;
_ _ pure _ appdomain _ globalexternwostreamwcout,*_Ptr_wcout;
_ _ pure _ appdomain _ globalexternwostreamwcerr,*_Ptr_wcerr;
_ _ pure _ appdomain _ globalexternwostreamwclog,*_Ptr_wclog;
#else /* _M_CEE_PURE */
//OBJECTS
_ _ pure _ appdomain _ global extern _ crtdata2istream CIN,*_Ptr_cin;
_ _ pure _ appdomain _ global extern _ crtdata2ostream cout,*_Ptr_cout;
_ _ pure _ appdomain _ global extern _ crtdata2ostream cerr,*_Ptr_cerr;
_ _ pure _ appdomain _ global extern _ crtdata2ostream clog,*_Ptr_clog;
_ _ pure _ appdomain _ global extern _ crtdata2wistreamwcin,*_Ptr_wcin;
_ _ pure _ appdomain _ global extern _ crtdata2wostreamwcout,*_Ptr_wcout;
_ _ pure _ appdomain _ global extern _ crtdata2wostreamwcerr,*_Ptr_wcerr;
_ _ pure _ appdomain _ global extern _ crtdata2wostreamwclog,*_Ptr_wclog;
//CLASS _Winit
class _CRTIMP2_PURE _Winit {
公共:
__thiscall _Winit (;
__thiscall ~_Winit (;
私有:
_ _ pure _ appdomain _ globalstaticint _ init _ CNT;
(;
#endif /* _M_CEE_PURE */
_STD_END
#pragmawarning(pop ) )
#打包(pop ) )。
#endif /* RC_INVOKED */
#endif /* _IOSTREAM_ */
/*
*copyright(c ) 1992-2009 byp.j.plauger.all rights reserved。
*合成许可证。
V5.20:0009 */