STL中既然有了vector为什么还需要array
#include<iostream>
using namespace std;
#include<vector>
#include<array>
int main()
{int a;array<int,10> arr;vector<int> vec(10);int* b = new int(10);cout << "a的地址" << &a << '\n';cout << "arr的地址" << &arr[1] << '\n';cout << "vec的地址" << &vec[1] << '\n';cout << "b的地址" << b << '\n';return 0;
}/*
a的地址 0000008D4B92F634
arr的地址 0000008D4B92F65C
vec的地址 0000028B476929E4
b的地址 0000028B47687E20
看这些地址就可以发现,array的内存是在栈中的,而vector是在堆区的
*/
array是栈上的,把C数组给“标准化”,有大小信息,不会弱化为指针,不可以动态扩大。vector管理堆内存,可以动态扩容。