我如何使用初始化列表直接创建我的链表?

时间:2018-05-30 07:59:57

标签: c++ list c++11 constructor initialization

我在名称空间mylib下编写了一个模板链接列表。

现在我想做的是:

mylib::list<int> x = {2,3,4,5}

我想要做的是创建一个构造函数或重载赋值运算符来编写上面的代码。我在这里阅读Initializer list for dynamic arrayoverloading assignment operators

我不可能想到如何做到这一点。

1 个答案:

答案 0 :(得分:5)

  

我想要做的是创建一个构造函数或重载赋值   运营商这样做。 ?

您可以通过创建std::initializer_list constructor来实现它。

list(std::initializer_list<int> arr)  // initializer list constructor
{
   for(const auto& it: arr) 
       head.insertElement(it);
}

其中insertElement()是您定义为将元素插入list类的方法。

查看LIVE DEMO