结构和模板

Struct and template

本文关键字:结构      更新时间:2023-10-16
template <class T>
struct ListItem
{
   T value;
   ListItem<T> *next;
   ListItem<T> *prev;
   ListItem(T theVal)
   {
    this->value = theVal;
    this->next = NULL;
    this->prev = NULL;
   }
};

有人可以告诉我声明上一个指针后发生了什么。我的意思是它是什么结构?很抱歉问什么可能是一个愚蠢的问题。谢谢

ListItem(T theVal)
{
  this->value = theVal;
  this->next = NULL;
  this->prev = NULL;
}

是一个内联构造函数定义。它指定如何初始化ListItem类模板的实例。value数据成员设置为 theVal,列表的nextprev指针设置为 NULL 。您可以将这样的构造函数称为

ListItem<int> li(42);
ListItem(T theVal)
{
    this->value = theVal;
    this->next = NULL;
    this->prev = NULL;
}

这是此结构的构造函数,this->value = theVal;作为参数传入的值被分配给结构的成员value

如果您还不了解构造函数,那么阅读它们是明智的。