所以,我在规范文件中有以下内容
#include
#include
using namespace std:
class MyStuff
{
private:
string name;
fstream file;
// other stuff
public:
void setName(string);
}
我也在实现文件中
#include "MyStuff.h"
using namespace std;
void MyStuff::setName(string name);
{
name = name
}
在程序文件中我有……
#include
#include
using namespace std;
void main()
{
string name;
MyStuff Stuff;
cout << "Enter Your Name: ";
getline(cin, name);
Stuff.setName(name);
}
我正在收集应用“using namespace std;”在头文件中是禁止的,完全符合条件是“更好”的做法;例如std :: cout
class MyStuff
{
std::string name;
}
而且,据我所知,目前使用命名空间std;在所有三个文件,规范,实现和程序中,基本上将三个命名空间层叠在一起,所以如果我单独声明字符串名称;在每个文件中,编译器都不知道哪个去了什么.真的吗?
我一般都明白,明确是一个“好”的事情,但我对如何的特殊性有点不清楚,而且我最感兴趣的是更深层次的“为什么”这一点.
所以我的直接问题是,在我提供的示例中,描述编译器和行业“标准”功能的“最清晰”方式是什么?而且,您能否指引我更清楚地描述名称空间的推理和实际实现的资源.