list初始化

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() 的参数小于当前元素个数,会从尾部开始删除多余的元素。如果参数比当前元素个数大,会使用所保存元素类型的默认构造函数来添加元素。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容