#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
//一、基础类型指针
void main11()
{
vector<int> v1; //1、容器:把你的元素copy到容器中
v1.push_back(1);
v1.push_back(3);
v1.push_back(5);
//2、迭代器遍历 迭代器相当于一个指针
for (vector<int>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout << *it << " ";
}
//3、算法 算法和迭代器 进行无缝连接
int num1 = count(v1.begin(),v1.end(),3); //统计3的个数
cout << "\n\nnum1:" << num1 << endl;
}
class Teacher
{
public:
int age;
char name[64];
public:
void prinT()
{
cout << "age" << endl;
}
};
//二、容器中装老师元素
void main12()
{
Teacher t1, t2, t3;
t1.age = 31;
t2.age = 32;
t3.age = 33;
vector<Teacher> v1; //1、容器:把你的元素copy到容器中
v1.push_back(t1);
v1.push_back(t2);
v1.push_back(t3);
//2、迭代器遍历 迭代器相当于一个指针
for (vector<Teacher>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout << it->age<< " ";
}
//3、算法 算法和迭代器 进行无缝连接
//int num1 = count(v1.begin(), v1.end(), 3); //统计3的个数
//cout << "\n\nnum1:" << num1 << endl;
}
//三、装指针
void main3()
{
Teacher t1, t2, t3;
t1.age = 31;
t2.age = 32;
t3.age = 35;
Teacher *p1, *p2, *p3;
p1 = &t1;
p2 = &t2;
p3 = &t3;
vector<Teacher *> v1; //1、容器:把t1、t2、t3内存首地址 放入了容器
v1.push_back(p1);
v1.push_back(p2);
v1.push_back(p3);
//2、迭代器遍历 迭代器相当于一个指针
for (vector<Teacher *>::iterator it = v1.begin(); it != v1.end(); it++)
{
cout <<(*it)->age << " "; //迭代器是二级指针,所以加*
}
//问题:如何求 容器 中 老师结点 年龄=33 个数
}
int main()
{
main3();
return 0;
}