August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
容器的存在就是用来保存元素的,因此显然需要一种便利的方式将元素存入容器中。我们可以用恰当数目的元素创建一个Vector,然后再为它们赋值,但通常有更优雅的方法。在这里,我只列举两种我更偏爱的方法:
·初始值列表构造函数(initializer-list constructor):用一个元素列表进行初始化。
·push_back():在序列的末尾添加一个新元素。
它们的声明形式如下所示:
其中,push_back()可用于添加任意数量的元素。例如:
上面的输入循环在到达文件末尾或者遇到格式错误时终止。在此之前,每个读入的数都被添加到Vector中,因此最后v的大小就是读入的元素数目。我们使用了一个for语句而不是更常规的while语句,这是为了将d的作用域限制在循环内部。5.2.2节将介绍如何为Vector提供移动构造函数,使用它我们就能以很低的代价从read()返回非常巨大的数据量:
11.2节将介绍std::vector是如何令push_back()及其他操作能高效改变vector的大小的。 ...
Read now
Unlock full access