我知道以下情况的区别:
case 1: int a[10];
Run Code Online (Sandbox Code Playgroud)
对于情况 1,数组的内存在堆栈上分配。
case 2: int *a = new int[10];
Run Code Online (Sandbox Code Playgroud)
对于情况 2,在堆上分配内存并返回一个指针。
但是下面两个声明有什么区别,因为向量内存总是分配在堆上
vector<int> v1;
vector<int> *v2 = new vector<int>();
Run Code Online (Sandbox Code Playgroud) c++ stdvector dynamic-memory-allocation static-memory-allocation