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

前のポインタが宣言された後に何が起こっているのか誰か教えてください

4

2 に答える 2

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

インラインコンストラクター定義です。ListItemクラステンプレートのインスタンスを初期化する方法を指定します。valueデータメンバーはに設定され、theValリストnextprevポインタはに設定されNULLます。あなたはそのようなコンストラクタを次のように呼ぶでしょう

ListItem<int> li(42);
于 2013-02-08T13:05:43.840 に答える
0
ListItem(T theVal)
{
    this->value = theVal;
    this->next = NULL;
    this->prev = NULL;
}

これは、この構造体のコンストラクターでありthis->value = theVal;、引数として渡された値が構造体の member に割り当てられvalueます。

コンストラクターについてまだ知らない場合は、それらを読んでおくのが賢明です。

于 2013-02-08T13:05:04.717 に答える