1.生成了一个空的 list 容器:
std::list<std::string> words;
2.创建一个带有给定数量的默认元素的列表:
std::list<std::string> sayings {20}; // A list of 20 empty strings
3.生成一个包含给定数量的相同元素的列表:
std::list<double> values(50, 3.14159265);
这里生成了一个具有 50 个 double 型值的列表,并且每一个值都等于 π。注意在圆括号中,不能使用初始化列表 {50,3.14159265},这样列表将仅仅包含两个元素。
4.list 容器有一个拷贝构造函数,因此可以生成一个现有 list 容器的副本:
std::list<double> save_values {values}; // Duplicate of values
5.可以用另一个序列的开始和结束迭代器所指定的一段元素,来构造 list 容器的初始化列表:
std::list<double> samples {++cbegin(values), --cend(values)};
除了 value 中的第一个和最后一个元素,其他元素都被用来生成列表。因为 list 容器的 begin() 和 end() 函数返回的都是双向迭代器,所以不能用它们加减整数。修改双向迭代器的唯一方式是使用自增或自减运算符。当然,在上面的语句中,初始化列表中的迭代器可以代表任意容器的一段元素,而不仅仅只是 list 容器。
可以通过调用 list 容器的成员函数 size() 来获取它的元素个数。也可以使用它的 resize() 函数来改变元素个数。如果 resize() 的参数小于当前元素个数,会从尾部开始删除多余的元素。如果参数比当前元素个数大,会使用所保存元素类型的默认构造函数来添加元素。