Vector与数组的区别

         数组是c++中类似vector的数据结构,它们都可以对一种类型进行储存,既都是容器。虽说两者有相似之处,但也有显著的区别,c++ primer的作者说到,在实际的编程中,我们作为程序员应该避免用到低级数组和指针,而更应该多用高级的vector和迭代器。在程序强调速度的情况下,我们程序员可以在类类型的内部使用数组和指针。下面我对vector和数组进行了总结。两者的相同和区别如下:

     数据结构

Vector

数组

都是对同一种类型的数据进行储存。

都可以用下标操作进行处理

都可以用迭代器进行操作(在c++中每个容器都配有各自的迭代器)

可以用size获取vector的长度

不可以获取,在定义时就已经确定了长度

长度不固定,可以随时增加

长度固定,在定义是就不可以更改

可以在末尾增加vector的元素(用push_back)

不能增加在长度以外的长度

可以确定长度,节约空

不能确定长度,必须在定义时定义一个很大的空间留给数组,造成内存的浪费

 

在vector中,可以用到的命令:

v.empty();  用于判断是否v为空的。

v.size();用于确定v的长度。

v.push_back(t); 用于在v的最后加元素t

v[n];用于在读取第n个元素,(用于下标操作)

v1 = v2;把v2给v1

v1 = = v2;判断是否v1等于v2;

还可以用各种运算操作符来进行判断。!=;>=;<=;<;>.

 PS:第一次写博客,请大家多多指教。

 

你可能感兴趣的:(c++)