c++ - 具有内存分配的函数中的C++析构函数静态变量

标签 c++ memory-management memory-leaks static destructor

我对C++没什么疑问

如何销毁此代码而不会导致内存泄漏?

void classA::funcA()
{
    static char* cArr = new char[10];
}

只是不写这种风格?

最佳答案

您可以改用RAII类型或避免分配:

static char cArr[10];
static auto cArr2 = std::make_unique<char[]>(10);

关于c++ - 具有内存分配的函数中的C++析构函数静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61124152/

相关文章:

java - 垃圾收集与手动内存管理

java - Stateless ejb 不删除池

c++ - 运算符重载和指向对象的指针,c++

c++ - 理解 C++ 中的 "Bitwise-And (&)"和 "Unary complement(~)"

c++ - 将对象存储在 std::vector 中会增加对象的生命周期吗?

C++ 内存泄漏,找不到位置

c++ - C++ 程序中的内存使用情况,由 Gnome 资源监视器 : confusion 报告

c++ - 如何将模板转换为模板 pre C++11

c++ - 试图在 C++ 中将一个文本文件拆分为多个文本文件

java - 如何通过 JMX 或代码监视主要垃圾回收后的内存