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"); }
0则评论给“STL编程 —— vector”