我有一个 vector<int>* arr
,它实际上是一个二维数组。
arr = new vector<int> [size];
我就这样做可以吗
delete arr;
arr[i]
是否会被自动删除,因为它是一个标准 vector ? 最佳答案
不,当您使用delete[]
时,您应该使用new[]
。
但这太疯狂了。您正在为一个维度使用友好的容器,然后通过对外部维度进行手动动态分配来取消所有优点。
相反,只需使用 std::vector<std::vector<int> >
,或将两个维度展平为单个 vector 。
关于c++ - 如何释放 C++ 内存 vector<int> * arr?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7556255/