结构和模板

时间:2013-02-08 12:58:39

标签: c++

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;
   }
};

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

2 个答案:

答案 0 :(得分:1)

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

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

ListItem<int> li(42);

答案 1 :(得分:0)

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

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

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