"::"在C++中表示作用域,和所属关系。 "::"是运算符中等级最高的,它分为i三种,分别如下:

ps ::在最开头就是全局

::在最开头开始,表示顶层命名空间全局变量

std::string <==> ::std::string 

这样也可以。
::和 文件路径的 / 可以对照理解。(Linux系统下理解更加便捷,linux下面没有盘符之分, 只有一个盘)

下面这俩其实是一样的

/usr/share/a.txt            a.txt 位于 /usr/share目录下
/a.txt                     a.txt直接位于硬盘下。第一个/就代表硬盘根目录。

一、作用域符号:

作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。

例如:A,B表示两个类,在A,B中都有成员member。

class A{
int member;
};
class B{
int member;
};
A::member;
B::member;

那么:

1、A::member就表示类A中的成员member。

2、B::member就表示类B中的成员member。

二、全局作用域符号:

全局作用域符号:当全局变量在局部函数中与其中某个变量重名,那么就可以用 :: 来区分,例如:

int a; // 全局变量

void test ()
{
	int a = ::a;//用全局变量,给本地变量a赋值
}

三、作用域分解运算符:

::是C++里的作用域分解运算符,“比如声明了一个类A,类A里声明了一个成员函数voidf(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成voidA::f(),表示这个f()函数是类A的成员函数。例如:

class A
{
public:
	int test();
}
int A::test()//表示test是属于A的
{
	return 0;
}
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐