固定长度的vector和queue
1.固定长度vector
vector是C++中一种容器类型,可以在需要的时候在容器的末尾增加一个元素,可扩展性好,但是有的时候我们希望vector的长度是固定的,可以使用以下的方法:
在声明一个vector类型的变量的时候,我们可以通过说明变量的长度来限制,比如
vector<int> ve(10) //申明了一个vector型变量,长度为10。
vector<string> v1; // 创建空容器,其对象类型为string类
vector<string> v2(10); // 创建有10个具有初始值(即空串)的string类对象的容器
vector<string> v3(5, "hello"); // 创建有5个值为“hello”的string类对象的容器
vector<string> v4(v3.begin(), v3.end()); // v4是与v3相同的容器(完全复制)
在用vector构造二维数组的过程中,可以通过一下的方式来固定vector长度。
vector<vector<int>> vec_arr(m,vector<int>(n)) //m*n的二维数组
在其他情况下要想使用固定长度的vector变量的时候,可用使用size()
函数来限制,在每次元素操作之前都判断一下是否超过了国定长度。比如
#define vector_size 10
vector<int> vec;
if(vec.size()<vector_size)
vec.push_back(1);
2.queue固定长度
和vector差不多,可以使用size()函数提前判断。