C++标识符的作用域
1,函数原型作用域:函数内的变量,和形参的当函数运行结束时就失效了。
2 局部作用域:一个for循环内定义的一个变量或者是if内定义的变量等等。
3 类作用域:1,类的成员函数;2,类的静态成员X::m;3,类的指针ptr->m
4 命名空间作用域:
namespace 命名空间名
{
命名空间内的各种声明
}
具体一个例子如下:
namespace WPF
{
class Fun
{
P...
};
int x;
int y;
char sex;
P...
}
调用问题:声明一个Fun类的对象WPF::Fun funa;
命名空间可以套命名空间:
namespace WPF
{
namespace CX
{
int z;
P...
}
class Fun
{
P...
};
int x;
int y;
char sex;
P...
}
如果要调用CX中的z,可以如下:WPF::CX:😒
注意点:
可以给命名空间取别名
namespace FF=WPF;
之后的代码就可以用FF代替WPF命名空间了
如何使用命名空间
{
using namespace WPF;//WPF命名空间内的所有声明的标识符都可以调用
z=10;
x=20;
y=11;
}
{
using WPF::x;//WPF中的x可以直接使用了,其他的不可以
x=11;
WPF::y=12;
WPF::CX::z=3;
}
匿名命名空间
namespace
{
匿名命名空间内的各种声明
}
作用范围是:从匿名命名空间定义开始,到文件结束,都是可以用到的。