直接使用?
|
注意:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中
编译器无法找到变量a,因此直接使用就会出错了。
命名空间的使用有三种方式:
加命名空间名称及“::”作用域限定符(也叫作用域运算符)
#include<stdio.h>//C++兼容C,因此还是可以使用C语言的 namespace N { int a = 10; int b = 20; int Add(int left, int right) { return left + right; } int Sub(int left, int right) { return left - right; } } |
使用using将命名空间中成员引入
#include<stdio.h> namespace N { int a = 10; int b = 20; int Add(int left, int right) { return left + right; } int Sub(int left, int right) { return left - right; } } using N::b; int main() { printf("%d\n", N::a);//输出10 printf("%d\n", b);//输出20 return 0; } |
使用using namespace 命名空间名称引入
#include<stdio.h> namespace N { int a = 10; int b = 20; int Add(int left, int right) { return left + right; } int Sub(int left, int right) { return left - right; } } using namespace N; int main(){ printf("%d\n", a);//输出10 printf("%d\n", b);//输出20 Add(10, 20); return 0; } |