C/C++ ポインタ入門 > リストクラス > データ指定コンストラクタ
Nobuhide Tsuda
Jan-2014
データ指定コンストラクタ:
List::List(const int *first, const int *last)
: m_size(last - first)
, m_dummy(new Node)
{
link(m_dummy, m_dummy);
while (first != last) {
append(m_dummy, new Node(*first++)); // 値 *first を持つノードを生成し、末尾に追加
}
}
解説:
- ダミーノードを生成し、m_dummy がそれを指すよう初期化
- m_size は last - first に初期化
- link() 関数を使い、ダミーノードを自分自身とリンクさせ、リストを環状にする
- append() 関数を使い、first から last 直前までの値を持つノードを末尾に追加します。
前:
| 次: