最基本的标准容器-vector
使用vector后可以进行大量的工作而不用关心底层的实现(面向对象编程的一个重要目标)。vector类是一个模板,可以用于不同的的类型,可以创建shape的vector,cat的vector,string的vector等等,用模板几乎可以创建建任何事物的类。将类型名输入到尖括号内,让编译器知道vector要保存的类,例如:vector<string>,表示只装string类型的vector,这时你在vector内加入其他类型就会报错。
vector表示一个容器的概念,用push_back()向vector内添加新元素(末尾追加)。而取出这些元素则可以采用操作符重载,让vector像数组那样使用,可以把简单有效的下标记号用于vector类。
//lvector .cpp
//将字符串拷贝到数组中
#include <iostream>
#include<string>
#include<fstream>
#include<vector>
using namespace std;
int main()
{
vector<string> v;
ifstream in("lvector.cpp");//为了读而打开文件
string line;
while (getline(in, line))
v.push_back(line);
for (int i = 0; i < v.size(); i++)
cout << i << ":" << v[i] << endl;
}///:~
结果:
还可以运用iostreams中的操作符“>>”,把输入分解成一个个的由空格分隔的单词
//lvector.cpp
//将文件内容分解成一个个单词
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
vector<string> v;
ifstream in("lvector.cpp");
string word;
while (in >> word)
v.push_back(word);
for (int i = 0; i < v.size(); i++)
cout << v[i] << endl;
}///:~
结果:
其中while(in>>word)每次取输入的一个单词,当表达式为false时,就表示文件读完了。