hello,最近码神新学了一个单词:Cipher(暗号)周董暗号,预示刚刚过去的七夕,汪汪哭了,但是莫,码神终究是码神,秋名山的路很长,昨天晚上想了一下,stl中的vector,紧接着就连起了一系列,乘着晚上有时间来和大家讲一下,c++中的数组,vector和array的区别
话不多说,开车了:
- 数组(太简单了,不说了)
- vector
首先vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。vector 是C++ STL的一个重要成员,使用它时需要包含头文件:#include; 当然也可以简单理解为vector是一种动态数组
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> vi;
int n;
cin>>n;
vector<double> vd(n);
return 0;
}
其中vi是一个vector int 对象,vd是一个vector的对象。
因为vector对象在你插入或添加值时自动改变长度,因此可以将vi的初始长度定义为0,妈妈再也不用担心我数组越界了
- array
前面我们讲到vector类的功能比较强大,但是付出的代价就是效率低下,如果知道数据的具体大小又害怕越界等,c++11中提出了array,先上代码
#include<iostream>
#include<array>
using namespace std;
int main()
{
array<int,5> ai;
return 0;
}
总结:
1.十分有把握的简单数据我还是推荐用数组
2.c++11才支持array
3.不追求效率的情况下可以用vector,方便
4.array和数组储存在栈中,而vector存在堆中
5.由于array是对象之间的,故可以将一个array的对象赋值给另一个array对象
如果感觉码神写的还不错,欢迎加关注,再肝array 和 vector 的函数用法,跪求点赞+关注