,,,,嵌入式开发内存管理是非常重要的一环,如何高效的使用向量,既能够快速扩展存储空间,并且最大限度的使用存储空间,避免C数组的越界问题
方案
矢量提供多种构造器
1 vector
vec.reserve (10);
默认构造器没有分配任何的内存空间,直到调用储备(10),分配10个单位的存储空间,如果后续存储空间不够,会重新分配一块足够大的内存,避免了插入失败
2 vector
当前分配10个单位的存储空间,此时所有的元素初始化为0,如果此时调用push_back函数
添加元素,vec的元素个数是11个
测试代码
# include & lt; vector>
int TestVector ()
{
int v1 [10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
std:: vector
v2.reserve (10);
(int i=0;我& lt;10;我+ +)
{
v2.push_back (v1[我]);
}
std:: vector
, (iter !=v2.end ())
{
cout & lt; & lt;* iter & lt; & lt;endl;
iter + +;
}
返回0;
}