名字空间通常用在较为大型地项目中,例如将一个产品分给不同地厂商去做,最后再将所有厂商做出来的文件汇集到同一个程序中进行运用,又是就会出现不同厂商应用了相同函数名。如果不加以处理直接使用,编译器会无法区分该调用哪个函数。基于这种问题下,我们引用了名称空间。
名称空间的使用只需要在所使用的代码前加上 名称空间名:: 就可以了
举个例子,比如两个公司 Microflop 和 Piscine 用到了同一个函数 wanda 。
那么在调用时,我们就可以像下边这样调用。
Microflop::wanda();//调用Microflop公司的wanda函数
Piscine::wanda();//调用Piscine公司的wanda函数
通过上述代码,我们就可以在后边的程序直接调用该函数了
然而当我们要大量地使用某一个名字空间下地程序时,上述这种方法就会显得很麻烦,所以using指令应运而生
例如我们常用的 using namespace std; 就可以std名字空间下所有程序
但是值得注意的是,这是一种较为偷懒的写法,在简单的程序中可以这样使用,在大型项目中则可能产生一些潜在的问题。
在大型项目中,可以采取需要什么就调用什么的方法,例如我们只需要 cin、cout、endl 这些语句。那我们就可以像下面这样调用名称空间
using std::cin;
using std::cout;
using std::endl;
以上内容都是我根据学习C++ primer plus 总结的,如有错误,欢迎评论指正