#include 应用


#include <fstream> ,相当于是引用标准C++的头文件,ifstream是标准C++的STL中的类,STL中的类都是定义在std这个名字空间中。
所以std::ifstream sitelist( "sitelist ",ios::nocreate);
就是使用std这个名字空间中定义的ifstream这个类,而且这样使用这个类就没有出现在全局名字空间中。

#include <fstream.h> ,相当于使用了VC实现的C++提供的头文件,此时ifstream虽有相同的功能,可是他现在相当于是全局名字空间中定义的了。相当于:
::ifstream sitelist( "sitelist ",ios::nocreate);
结果结果和别的东东形成全局名字空间污染问题。(也就是重名了)

C++Primer的第八章写得很清楚。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM