请教:关于命名空间与头文件
小弟是C++菜鸟,今日在学习过程中碰到一个较菜的问题,请各位帮忙指点一下,谢谢!
下面是源码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string user;
cout<<"Please enter your name:";
cin>>user;
cout<<'\n'<<"Hello,"<<user<<"and goodbye!\n";
return 0;
}
问题是,我想,如果不在程序中引入string.h的话,当需要用 string class定义变量的时候就会出错
但当我将"#include <string>"这一句删去后,编译运行一切正常,而如果删掉"using namespace std;"一句后编译就会显示错误。查阅《C++ Primer》得知std为标准命名空间,但难道不需要引入相应的.h头文件就可以使用其中的成员吗?