我目前正在使用c ++,我想知道使用命名空间std添加的所有内容。我已经知道基本的,如cout和cin。但是当我在不使用命名空间std的情况下运行我的程序时,它不起作用(我在cout命令之前添加了std ::)。但我想知道还有什么我需要在之前添加std ::
非常感谢任何帮助!
这是我的代码:
#include <iostream>
#include <string>
class MyClass{
public:
void setName(string x){
name = x;
}
string getName(){
return name;
}
private:
string name;
};
int main()
{
MyClass mc;
mc.setName("WASSSSSUUUPP!!! \n");
std::cout << mc.getName();
}
答案 0 :(得分:1)
1 - 标准C ++库的所有实体(变量,类型,常量和函数)都在std
命名空间中声明。 using namespace std;
引入了std命名空间的所有名称直接可见性到代码中。
参考:http://www.cplusplus.com/doc/tutorial/namespaces/
2 - C ++中的命名空间最常用于避免命名冲突。尽管名称空间在最近的C ++代码中被广泛使用,但大多数旧代码都不使用此工具。例如,整个C ++标准库在namespace std
内定义,但在标准化之前,许多组件最初位于全局命名空间中。
参考:http://en.wikipedia.org/wiki/Namespace#Use_in_common_languages