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
{
匿名命名空间内的各种声明
}
作用范围是:从匿名命名空间定义开始,到文件结束,都是可以用到的。

posted on 2019-09-29 21:06  neonman  阅读(105)  评论(0编辑  收藏  举报