vector就是一个容器,就跟数组一样可以存放数据,不同的是,vector可以有自己的函数
如下:
①创建vactor容器,并且通过模板参数指定容器中存放的数据的类型
vector<int> v;
②调用函数向容器中放数据
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
③//每一个容器都有自己的迭代器,迭代器是用来遍历容器中的元素
//v.begin()返回迭代器,指向容器中的第一个数据
//v.end()返回迭代器,指向容器元素的下一个元素
//vector::iterator 拿到vector容器的迭代器类型
vector<int>::iterator pBegin = v.begin();
vector<int>::iterator pEnd = v.end();
④使用STL提供标准遍历算法,头文件algorithm
for_each(v.begin(), v.end(), MyPrint); //其中MyPrint是自己定义的函数
完整代码块如下
void vectortest() {
cout << "我是vector" << endl;
//创建vactor容器,并且通过模板参数指定容器中存放的数据的类型
vector<int> v;
//调用函数向容器中放数据
v.push_back(10);
v.push_back(20);
v.push_back(30);
v.push_back(40);
//每一个容器都有自己的迭代器,迭代器是用来遍历容器中的元素
//v.begin()返回迭代器,指向容器中的第一个数据
//v.end()返回迭代器,指向容器元素的下一个元素
//vector<int>::iterator 拿到vector<int>容器的迭代器类型
vector<int>::iterator pBegin = v.begin();
vector<int>::iterator pEnd = v.end();
//用for()循环遍历容器内的值
for (vector<int>::iterator it = v.begin(); it != v.end(); it++)
{
cout << *it << endl;
}
cout << endl;
//使用STL提供标准遍历算法,头文件algorithm
for_each(v.begin(), v.end(), MyPrint);
}
void MyPrint(int val)
{
cout << val << endl;
};
效果如图