程序中不能有两个函数名一摸一样的,但是程序做大了,就很可能会造成两个同名同参的函数;这样就会导致歧义而错误。
所以做出命名空间,可以做到只要是不同的空间中可以同名同参函数,这样以后其他人来做了,可以不用看以前写了什么函数名,而只要弄个新的空间,就可以随意的写函数名了。这样就更加方便程序的维护!这在比如PHP中用的很多,而且加强了命名空间的使用,如:TP5中有很多层级的命名空间,原理是一样的。
#include<iostream>
#include<stdlib.h>
int main() {
std::cout << "灵感编程-C++" << std::endl;
}
以前C语言的时候,是没有什么std::这些修饰的,为何?
因为它就一个命名空间,那么在这个命名空间里,就不能有一摸一样的函数;
C++朝着能开发更大的程序去设计,所以很可能造成一摸一样的函数,而增加后续参与人员的开发麻烦和维护麻烦。所以C++做成了多个空间。
就像有多个宇宙一样,各自互不干扰。
所以C++出现了命名空间,而std就是空间名;要使用某空间里面的东西就得指明是哪个命名空间。
但是每次使用都来写空间名,又有点麻烦。
所以就提供了简化的方式:
先指定使用哪个空间。
#include<iostream>
#include<stdlib.h>
using namespace std;
int main() {
cout << "灵感编程-C++" << endl;
}
效果一样