C++ Primer笔记(3.3.2)—— 向vector对象中添加元素
/************************************************************************************************/
/* 举个例子,如果像创建一个vector对象令其包含从0到9共10个元素,使用列表初始化的方法很容易做到, */
/* 但如果vector对象包含的元素是从0到99或者从0到999呢?这时通过列表初始化把所有元素都一一罗列就 */
/* 不太合适了。对于此例来说,更好的处理方法是先创建一个空vector,然后在运行时再利用vector的成员 */
/* 函数 push_back 向其中添加元素。 */
/* */
/* push_back 负责把一个值当成vector对象的尾元素“压到(push)”vector对象的“尾端”(back) */
/************************************************************************************************/
#include<iostream>
#include<string>
#include<vector>
using std::string;
using std::vector;
int main()
{
/* ----- 例子 ----- */
vector<int> v1; //空vector对象
for (int i = 0; i != 100; ++i)
v1.push_back(i); //依次把整数值放到v1的尾端
//循环结束后v1有100个元素,值从0到99
std::cout << "v1的值为:";
for (int i = 0; i != 100; ++i)
std::cout << v1[i] << " ";
std::cout << std::endl;
//在上例中,尽管知道vector对象最后会包含100个元素,但在一开始还是把它声明成空vector,
//在每次迭代时才顺序地把下一个整数作为v1的新元素添加给它
//同样的,如果直到运行时才能知道vector对象中元素的确切个数,也应该使用刚刚的方法创建vector并赋值。
//例如,有时需要实时读入数据然后将其赋予vector对象:
//从标准输入中读取单词,将其作为vector对象的元素存储
string word;
vector<string> text; //空vector对象
while (std::cin >> word)
{
text.push_back(word);
}
/* ---------------- */
return 0;
}