当前位置 博文首页 > 秋名山码神的博客:论c++中的数组,vector和array的区别及用法

    秋名山码神的博客:论c++中的数组,vector和array的区别及用法

    作者:[db:作者] 时间:2021-09-04 21:29

    hello,最近码神新学了一个单词:Cipher(暗号)周董暗号,预示刚刚过去的七夕,汪汪哭了,但是莫,码神终究是码神,秋名山的路很长,昨天晚上想了一下,stl中的vector,紧接着就连起了一系列,乘着晚上有时间来和大家讲一下,c++中的数组,vector和array的区别
    话不多说,开车了:

    1. 数组(太简单了,不说了)
    2. 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,妈妈再也不用担心我数组越界了

    1. 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 的函数用法,跪求点赞+关注

    cs