如果你有一个函数名为 zyx ,你想引用的库里面也有一个函数名为 zyx , 那你可咋办。
命名空间就是为此诞生的,如果你使用命名空间,你就可以同时使用自己的zxy函数与库里的zxy函数。
命名空间(namespace)为防止名字冲突提供了更加可控的机制。
C++命名空间的定义:
namespace name{
…
}
使用命名空间中的变量 :
命名空间名::变量名;
使用整个命名空间,这样在使用该命名空间的变量的时候就可以不用向上面一样指定了:
using namespace 命名空间名;
命名空间还可以嵌套使用,例如:
namespace namespace_name1 {
// 代码声明
namespace namespace_name2 {
// 代码声明
}
}
这样你在使用namespace_name1的命名空间的范围内可以同时使用namespace_name2的命名空间。
下文转载自:
作者:Casablanca_aha
来源:CSDN
原文:https://blog.csdn.net/baidu_37830419/article/details/79085312
版权声明:本文为博主原创文章,转载请附上博文链接!
std:
std是一个命名空间,C++标准函数或者对象都是在std中定义的,例如cin和cout,当我们要使用标准库的函数或对象时都需要用std来限定。
使用std可通过using namespace std或者std::
要注意在#include<iostream.h>虽然不存在类std,但是有cin和cout的相关函数,所以不需要使用命名空间,可以直接使用,例如
#include <iostream.h>
int main ()
{
cout << "Hello World! "<<endl;
cout << "I'm a C++ program" <<endl;
}
但是在#include中就需要用到命名空间std了,有两种使用方法,一是直接用using namespace std,如图
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World! "<<endl;
cout << "I'm a C++ program" <<endl;
}