vector介绍:
是一个线性的顺序结构,相当于数组,但其大小可以不预先指定,并且自动扩展,它可以像数组一样被操作,由于它的特性我们完全可以将vetcor 看做动态数组。
代码实例1:
#include "iostream"
#include "vector"
using namespace std;
//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念
void printfV(vector<int> &v)
{
int size = v.size();
for (int i = 0; i < size; i++)
{
cout << v[i] << " ";
}
cout << endl;
}
void main()
{
//用模板类初始化一个int型的数组
//在使用模板类的时候,需要指明具体的类型
//相当于 int v1[5]
vector<int> v1(5);
for (int i = 0; i < 5; i++)
{
v1[i] = i + 1;
}
for (int i = 0; i < 5; i++)
{
cout << v1[i] << " ";
}
cout << endl;
vector<int> v2(20);
v2 = v1;
//测试函数
printfV(v2);
system("pause");
}
代码实例2:
#include "iostream"
#include "vector"
using namespace std;
//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念
void printfV(vector<int> &v)
{
int size = v.size();
for (int i = 0; i < size; i++)
{
cout << v[i] << " ";
}
cout << endl;
}
void main()
{
//测试函数
//vetcor类会把20个大小,全部初始化
vector<int> v3(20);
v3.push_back(100);
v3.push_back(101);
printfV(v3);
system("pause");
}
代码实例3:
#include "iostream"
#include "vector"
using namespace std;
//vector<int> &c 和数组做函数参数区别
//数组做函数 会退化为指针
//类,类有封装概念,突破了函数的概念
void printfV(vector<int> &v)
{
int size = v.size();
for (int i = 0; i < size; i++)
{
cout << v[i] << " ";
}
cout << endl;
}
struct Teacher
{
char name[10];
int age;
};
void main()
{
Teacher t1, t2, t3;
t1.age = 11;
t2.age = 22;
t3.age = 33;
vector<Teacher *> v1(5);
v1[0] = &t1;
v1[1] = &t2;
v1[2] = &t3;
//cout << v1[0].age << endl;
for (int i = 0; i < v1.size(); i++)
{
Teacher *tmp = v1[i];
if (tmp != NULL)
{
cout << tmp->age << " " << endl;
}
}
system("pause");
}