刷野打怪上王者·C++篇·第20期·命名空间
原创
©著作权归作者所有:来自51CTO博客作者HelloCVCG的原创作品,请联系作者获取转载授权,否则将追究法律责任
参考链接
RUNOOB.COM
命名空间
在写大项目的时候,难免会遇到有相同名字的函数,遇到这种情况下我们该如何处理?这时我们可以在前面添加前缀,来进一步明确函数所处的位置。说白点,就是你们班上有两个相同名字小A的同学,但是一个活泼类型、一个内向类型。因此,我们在班上找活泼的小A就只需在前面明确好他的性格类型,就知道找的谁啦。
那么,在C++中该如何处理呢?C++中需要引入关键字namespace命名空间:
namespace 空间名1
{
/*核心语句*/
}
namespace 空间名2
{
/*核心语句*/
}
实例说明:
#include <iostream>
using namespace std;
//命名空间 dog
namespace dog
{
void getInfo()
{
cout << "dog" << endl;
}
}
//命名空间 cat
namespace cat
{
void getInfo()
{
cout << "cat" << endl;
}
}
int main()
{
dog::getInfo();
cat::getInfo();
getchar();
}
运行结果
using指令
在上面程序,我们使用了(using namespace std;)代码,其实就是告诉编译器,后面代码使用该指定的命名空间,所以cout不需要写成(std::cout)格式。当然,即使声明了命名空间using,程序调用时也可以使用std::cout 格式。
命名空间嵌套
它的含义就是字面的意思,命名空间内可以嵌套命名空间:
namespace 空间名1
{
/*核心语句*/
namespace 空间名2
{
/*核心语句*/
}
}
实例
#include <iostream>
using namespace std;
//命名空间 dog
namespace dog
{
void getInfo()
{
cout << "dog" ;
}
//嵌套命名空间 eat
namespace eat
{
void getInfo()
{
cout << " eat meat" << endl;
}
}
}
int main()
{
dog::getInfo();
dog::eat::getInfo(); //嵌套命名空间访问
getchar();
}
运行结果
更多《计算机视觉与图形学》知识,可关注下方公众号: