Vector动态数组的创建以及初始化
Vector动态数组的特点
① vector动态数组本质上也是数组,它是根据自己不断变化的元素个数,不断寻找适合自己的连续的存储空间,切记:vector动态数组的存储空间与静态数组相同是在内存中连续分布的;
② vector动态数组可以从数组尾部不断插入新的元素,但是不仅限于尾部,其他地方均可插入元素;
③ vector动态数组不止长度在变化,它在内存中的位置也在发生变化,由于需要寻找适合存储自己的连续的内存区域,因此vector数组操作大量元素时效率有点低下;
④ vector动态数组有数组的特点,即占用连续的存储区域,因此它可以用下标进行访问,又由于vector是个模板类,类中重载了丰富的成员函数和运算符,因此动态数组可以相互赋值和初始化(初始化还有许多其他方法)。
Vector动态数组的建立与初始化
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int array1[5] = { 11,12,13,14,15 };
vector<int> list = { 1,2,3,4,5 }; // vector是个模板类
vector<int> list1(list); // 拷贝赋值方式
vector<int> list0 = list1; // 运算符赋值方式
vector<int> list2(list1.begin(), list1.end()); // 用首尾地址进行初始化
vector<int> list3(array1, array1 + sizeof(array1) / sizeof(int)); // 用首尾地址进行初始化
vector<int> list4(4,0); // 先申请4个动态存储空间并且全部初始化为0
}