c++ - 静态指针和其他奇怪的东西

标签 c++ pointers static

考虑以下代码。 因此我们有一些 main.cpp 文件,我们声明了一个静态指针。

int main()
{
  static int* array = new int[1000];
}

所以在main结束后,程序运行结束前,静态指针会从静态存储中删除。那么它分配的内存呢?什么时候删除数组?会不会漏?

最佳答案

当程序结束时,实际内存将被释放给操作系统,因为程序结束了,而不是因为你释放了它。

所以是的,你可以说它泄漏,尽管大多数程序员将泄漏称为连续发生的事情,而不是你知道的一次性分配并且无论如何都会被回收。

关于c++ - 静态指针和其他奇怪的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29770293/

相关文章:

unit-testing - 在Grails上检查调用静态方法

C++ set::find by 对象属性

c++ - 使用 strcpy_s 复制字符串

c++ - 将 DLL 的方法用于其他方法

c++ - 传递指针地址

android - 带或不带括号的 JNIEnv 用法?

c++ - 理解指针有哪些障碍?如何克服这些障碍?

java - 调用 EasyMock.expect() 时调用通过 EasyMock 和 Powermock 模拟的静态方法

c++ - 这个外部无害吗?

c# - 使用静态时出现 "An object reference is required to access non-static member"错误