最近在做将MATLAB代码转化为C/C++的工作,在实际应用时,发现动态数组非常重要,我在学习的时候也踩了许多坑,这篇就当做一篇踩坑笔记,希望读者能够绕开我踩过的坑,顺利应用动态数组。
1.静态数组、动态数组
其实在C语言中,都是静态数组,即需要在定义的时候就定下该数组的长度,然而这在实际的应用中,很大的一部分情况是我们并不知道数组的长度,因此没有办法声明长度。此时我们就需要应用可以自动扩容的动态数组啦!
动态数组,它与静态数组的最大区别是在定义的时候你可以不需要知道此时你定义的这个数组的具体长度,在你为该数组赋值时,如果存储空间不够,它会自动扩容,也就是不需要担心长度不够,数组溢出啦。
2.vector定义一维动态数组
一开始,我选用过用new来定义一个动态数组,但是这种定义方式不是很方便,赋值很繁琐,并且在使用过后你需要自己手动的去释放内存,这对于懒懒的并且记性不好的我非常不友好。在我广泛查阅资料后,我知道了vector这种方法,该方法简单易上手,主要是不用手动释放内存,就是效率有些低,但是总体来说用vector定义动态数组还是非常值得一试的!
(1)声明
在你要使用vector这个容器时,你需要在代码开头的部分进行声明,代码如下:
#include<vector>
using namespace std;
<