2

我试图在双向链表上理解本教程。 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  

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

这里发生了什么?

4

1 回答 1

5

这是一个static类成员初始化。

class list
{
    static element* FirstEl;
    static element* LastEl;
};

你所拥有的是成员的初始化。

变量的名称是FirstEland LastEl,但它们是类的一部分,这就是为什么在定义它们时必须限定它们的名称。

就像在定义方法名称时限定它们一样。

于 2012-09-20T13:53:46.583 回答