List::List(const List &x) : m_size(x.m_size) , m_dummy(new Node) { link(m_dummy, m_dummy); const Node *ptr = x.m_dummy->m_next; for (int i = 0; i < m_size; ++i) { append(m_dummy, new Node(ptr->m_value)); // x のノードと同じ値を持つノードを生成し、末尾に追加 ptr = ptr->m_next; // 参照するノードへのポインタをひとつ前に進める } }
解説:
前: | 次: