是否可以释放静态定义的数组?

Bra*_*don 2 c++ arrays

你能释放用静态分配定义的数组的内存吗?

mjv*_*mjv 6

不,无法取消分配静态分配的内存.

根据语言(例如C/C++,使用指针),您可以将此数组所拥有的内存用于其他目的,但这样做只会重用内存; 内存不会被释放,每本身.

这就是说,这种将静态内存重新用于/除了最初在那里定义的变量之外的变量的想法,只是为了帮助理解这种类型的分配的性质. 实际上,特别是作为新手,对这种功能的需求绝对没有意义:

  • 要么变量预期有一个生命周期,只要程序
    在这种情况下它应该被声明为static
  • 或者在程序执行期间的某个时间不需要变量,
    在这种情况下应该动态分配(在程序初始化之后/期间不久)并在适当时释放.