宁夏住房和城乡建设局网站小程序自助搭建平台
1. Vector
Vector其实很大程度上和数组一样,只是,数组是固定长度,而vector是不定长度(动态增长)。 假设我们需要记录明年的测试成绩,但是我们并不知道明年会有多少个学生。那么可以有两种选择,定义一个固定长度的数组,这个长度超过假设的长度, 另一种办法就是使用动态数组,比如是: vector
vector 在C++STL(标准模板库)中的一个容器,可以看成是对容器的一种扩展。在运行时可以改变长度 , 与数组具有相似的语法 , 相比数组更高效 , 提供越界检查。
使用vector除了要导入#include
之外,由于它声明于std命名空间里面,所以要配合std命名空间使用。
#include <iostream>
#include <vector>
using namespace std;int main(){//定义: vector <变量类型> 变量名 {变量值};vector<char> name {'a','b','c'};//数组方式访问cout << "name: " <<name[0] << endl;//使用.at()方法访问,越界会抛出异常cout << "name: " <<name.at(1) << endl;//修改vector中的元素name.at(1) = 'd';cout << "name: " << name.at(1) << endl;//向vector中增加元素name.push_back('e');cout << "name: " << name.at(3)<< endl;vector<int> test_score {100,90,85};cout << "第一个成绩是: " <<test_score[0] << endl;cout << "第二个成绩是: " <<test_score[1] << endl;cout << "第三个成绩是: " <<test_score[2] << endl;cout << "第三个成绩是: " <<test_score[3] << endl; //不会检查越界// 使用下标遍历for(int i=0;i<name.size();i++){cout << "name: " << name.at(i)<< endl;}//使用for范围遍历for (char i: name){cout << "name: " << i<< endl;}//二维vector 定义: vector <vector<变量类型>> 变量名 {{变量值}};vector<vector<int>> score{{95,77,80,85},{100,78,82,83},{96,79,83,85},{97,80,84,85}};for (int i=0;i<score.size();i++){for(int j=0;j<score[i].size();j++){cout<<score[i][j]<<"\t";}cout<<endl;}return 0 ;
}