繁体   English   中英

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

[英]Declaring a pointer with a scope resolution operator in the name

我正在尝试在双向链表上使用本教程。 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”的类型为type的指针,并将其设置为null,但是范围解析运算符使我认为C ++仍然没有涉及到某些东西。

这里发生了什么?

那是static类成员初始化。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM