1.global scope(全局作用域)
比如int a;void test (){ int a = ::a;//用全局变量a,给本地变量a赋值}
2.class scope(类作用域)
比如class A{ public: int test();}int A::test()//表示test是属于A的{ return 0;}
3.命名空间
3.1命名空间简单声明和调用:
namespace na
{
int a;
char c;
}
调用 na::a
3.2嵌套使用
namespace ns1
{
int a;
char c = 10;
void fun();
int Add(int a, int b)
{
return a + b;
}
namespace ns2
{
int b;
}
}
如果要调用b则:ns1::ns2:b
3.3:给命名空间起别名
namespace Television
{...}
namespace Tv=Television;
Tv:: 就可以调用Television里的成员
3.4:使用using xxx::xxx
using ns1::a; 如果使用此语句则使用a的地方不用再加::符号
3.4.2:使用using namespace xxx
using namespace ns1 如果使用此语句那么可以直接使用ns1内部成员不用再加::符号
3.5:无名的命名空间
namespace
{
void fun();
}
只在本文件内使用fun函数