1. 先介绍一下Vector容器中存放内置数据类型的使用。
#include <iostream>
#include <vector> //vector的头文件
#include <algorithm> //标准算法的头文件
void fun_creat_vector (){
std::vector<int8_t> data; // 创建一个vector容器
data.push_back(1); // 向容器中插入数据1
data.push_back(2);
data.push_back(3);
std::vector<int8_t>::iterator it_data; //创建一个容器的迭代器
for(std::vector<int8_t>::iterator it_data = data.begin();it_data != data.end();it_data++){
std::cout << *it_data << std::endl;
}
//使用STL的标准算法进行遍历
for_each(data.begin(),data.end(),callback); //三个参数,开始,结束,回调函数
}
void callback(int8_t data){
std::cout << data << std::endl;
}
2. Vector容器中存放自定义数据类型的使用。
class Person
{
public:
Preson(std::string name, int age){
this->m_Name = name;
this->m_Age = age;
}
std::string m_Name;
int m_Age;
};
void fun_vector()
{
vector<Person> v_data;
Person P1("zhangsan",18);
Person P2("lisi",19);
Person P3("zhaowu",17);
v_data.push_back(P1);
v_data.push_back(P2);
v_data.push_back(P3);
for(vector<Person>::iterator it = v_data.begin();it != v_data.end();it++){
//std::cout << "Name: " << (*it).m_Name << "Age: " << (*it).m_Age << std::endl;
std::cout << "Name: " << it->m_Name << "Age: " << it->m_Age << std::endl;
}
}
void fun_vector_ptr()
{
vector<Person*> v_data;
Person P1("zhangsan",18);
Person P2("lisi",19);
Person P3("zhaowu",17);
v_data.push_back(&P1);
v_data.push_back(&P2);
v_data.push_back(&P3);
for(vector<Person *>::iterator it = v_data.begin();it != v_data.end();it++){
std::cout << "Name: " << (*it)->m_Name << "Age: " << (*it)->m_Age << std::endl;
}
}
3. vector容器中嵌套vector容器。
相当于把2中的自定义数据类型换成vector。