c++ - 函数变量到哪里去了?

标签 c++ memory

当我在函数中声明一个变量时,我正在使用一些内存。当函数完成它的工作时,内存是否被释放?

最佳答案

所有自动存储变量在超出范围时都将被释放,并且您必须明确说明动态分配的变量:

void foo()
{
    int x;
    int* y = new int;
    //You get a memory leak with each call to foo without the following line
    delete y;
} //x is freed here

关于c++ - 函数变量到哪里去了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20999595/

相关文章:

c++ - 尝试使用带有 C++ 的 MoveFile 移动文件时出现 ERROR_INVALID_NAME

C++ `ifdef` 与宏值的串联

c++ - 查询结构或类的成员

c - C程序读取文件中的无效指针

c++ - 几何、交集

c++ - 如何在G++中禁止使用内联函数但从未定义过警告

sql - SQL Server 中的 "money"和 "decimal"数据类型是如何存储在内存中的?

c - 结构的内存对齐

c++ - C++链表反向遍历内存损坏

c++ - 使用硬盘进行快速访问取代 RAM