C++之Vect

在C++中数组和向量都是多同类元素的集合,他们也有很明显的区别

1 数组属于静态分配,编译之前必须知道数组的大小,一旦确定就不能更改;2个数组之间不能直接赋值实现拷贝,而必须显式用for或者拷贝函数拷贝。数组名实际是个地址,sizeof(数组名)当数组名是实参时表示的是数组的真实字节数,而如果在函数中数组作为形参,此时的sizeof(数组名)是求指针类型的字节数。求数组长度的方法sizeof(a)/sizeof(a[0]).

2 向量:比较灵活,运行中可以调整数组的大小;赋值可以列表化赋值,也可以通过定义时赋值;或者通过push_back()的方法动态添加

vector<string> vs(2, "hello");   //               2个"hello" 的string
for (int i = 0; i < 100; i++)
{
  vi.push_back(i);             //依次把i的值放到vector的尾端
}                                //循环结束后vi有100个元素,值从0到99
posted on 2018-08-16 14:53  杰瑞鼠  阅读(515)  评论(0编辑  收藏  举报