C++动态数组

在C++中,使用变长数组,有三种方式:
1、使用new动态分配数组的长度。

int *p;
int len;
p=new int[len];
............
delete[] p; 

2、使用函数 void* malloc(size_t n)动态分配内存空间,然后将首地址赋给一个数组指针。

3、使用C++容器vector。采用vector可以动态增加数组长度,与java的java.util包中的vector和C#中的ArrayList是相似的。
其原理是:vector容器分配的是一块连续的内存空间,每次容器的增长,并不是在原有连续的内存空间后再进行简单的叠加,而是重新申请一块更大的新内存,并把现有容器中的元素逐个复制过去,然后销毁旧的内存。

猜你喜欢

转载自blog.csdn.net/u010503121/article/details/45535661