在名称中声明一个带有作用域解析运算符的指针

Q-b*_*uit 2 c++

我试图在双链表上查看本教程. http://www.dreamincode.net/forums/topic/53161-how-to-create-a-basic-double-linked-list/

我无法理解这一部分

  element* list::FirstEl = NULL;    //This initialises the static element* 'FirstEl' to  NULL  
  element* list::LastEl = NULL;     //This initialises the static element* 'LastEl' to  
Run Code Online (Sandbox Code Playgroud)

我会说这段代码创建了一个名为"list :: FirstEl"的类型元素的指针并将其设置为null,但是范围解析运算符让我觉得C++中还有一些我还没有涉及的东西.

这里发生了什么?

Luc*_*ore 5

这是一个static集体成员初始化.

class list
{
    static element* FirstEl;
    static element* LastEl;
};
Run Code Online (Sandbox Code Playgroud)

你有什么是成员的初始化.

变量的名称是FirstEl和LastEl,但它们是类的一部分,这就是为什么在定义它们时必须限定它们的名称的原因.

就像在定义方法名称时一样限定方法名称.