为什么不能将静态类变量分配给堆栈
Why can a static class variable not be allocated to the stack?
>通常,在函数中声明的局部变量是在堆栈上分配的,而不是在堆上分配的,但如果变量是静态的,则情况并非如此。为什么不能在 上分配静态类变量堆栈?
因为那样它就不是静态的了。你的问题在术语上体现了矛盾。
在
堆栈上分配的变量会自动删除。您不希望删除静态变量。
局部静态变量的生命周期是整个程序,但堆栈被所有函数在多个函数调用中使用、重用和重用。因此,静态局部变量不能与其他局部变量一起存储在堆栈中。
相关文章:
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 从堆栈分配的原始指针构造智能指针
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 巨大的内存分配:堆栈与堆
- 有效地分配堆栈对象(由函数的值返回)到堆?
- 为什么不能在 Visual C++ 中动态分配堆栈内存?但海湾合作委员会可以做到
- 为什么分配堆内存比分配堆栈记忆更快
- 安全分配堆栈分配的阵列
- 附加到具有非动态分配堆栈的向量
- 是否随作用域分配和解除分配堆栈帧
- 在执行中脱离堆栈对象的范围之前,请分配堆栈对象
- 全局阵列分配 -- 堆栈或堆
- 如何使新操作员超载以分配堆栈
- 具有类作用域的动态分配堆栈内存
- 如何在 Linux 下为可执行文件分配堆栈
- 内存分配堆栈
- 成员函数内存分配堆栈或堆
- 在 c++ 中重新分配堆栈上的对象
- 防止为类和派生类分配堆栈
- 如何防止msvc++为switch语句过度分配堆栈空间?