vc++中'::'的用法是什么?好多地方都用,具体有什么区别?

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:17:55
这符号的基本意思有是什么?

代表名称空间;
a::b代表这个b是在a这个名称空间的变量,函数.
比如
class A
{
public:
static int a(){}
}
class
{
static int a(){};
int b(){ return A::a;}调用的就是类A中的成员函数 a ,如果不加A::,调用的就是类B自己的函数a
}

另外,如果::前面什么也没有,代表全局的函数,比如API函数

域运算符

用来标识 一个变量或函数属于哪个类

在VC++中用 ::还可以调出全局API函数

总的来说,::代表作用域。
具体说,这些作用域可以是全局(::前面空着),可以是名字空间(::前面是名字空间,比如std),可以是类(结构体)。