// 命名空间中可以定义变量/函数/类型
namespace miao
{
int rand = 10;
int Add(int left, int right)
{
return left + right;
}
struct Node
{
struct Node* next; int val;
};
//也可以嵌套
namespace N1
{
int a; int b;
int Add(int left, int right)
{
return left + right;
}
namespace N2
{
int c; int d;
int Sub(int left, int right)
{
return left - right;
}
}
}
//同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。
//多个文件有相同命名空间,将会合并。
命名空间的使用
命名空间中可以定义变量/函数/类型
命名空间的三种用法:
加命名空间名称及作用域限定符
int main()
{
printf("%d\n", N::a);
return 0;
}
加命名空间名称及作用域限定符
using N::b;
int main()
{
printf("%d\n", N::a);
printf("%d\n", b);
return 0;
}
使用using namespace命名空间名称 引入
using namespce N;
int main()
{
printf("%d\n", N::a);
printf("%d\n", b);
Add(10, 20);
return 0;
}
C++的输入与输出
#include<iostream>
// std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
using namespace std;
int main()
{
cout<<"Hello world!!!"<<endl;
return 0;
}