基元的解分配向量

Deallocating vector of primitives

本文关键字:分配 向量      更新时间:2023-10-16

我正在挖掘一些古老的代码,这些代码最初是在 Builder 6 C++中构建的。贯穿整个代码库的是以下模式,恕我直言,它应该出现段错误:

vector<int> x;
try {
    ... some run of the mill vector manipulation
} __finally {
      delete &x;
}

delete &x;真的很奇怪。据我了解,vector<int>仅在其中包含的函数的生命周期内存在,因此无需对其调用delete

这种模式背后是否有一些合理的动机,或者它只是完全错误?

当然不是标准的C++。

仅当使用new时,才应使用delete。否则,行为是未定义的

至少正如你在这里展示的那样,这是完全错误的。