简单的记忆问题练习

ov1*_*d1u 0 c++ memory-leaks memory-management

我主要使用高级编程语言,昨天有朋友让我帮他解决一个简单的C++练习,当我正在研究它时,我编写了这段代码:

for (int x = 0; x < 10; x++){
    int a, b, c;
    a = x;
    b = x*2;
    c = x+5;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:这是否会导致内存泄漏,使a,b,c始终在内存的不同位置创建,或者它们是否总是被每个循环覆盖?

Alo*_*ave 10

只有在您拥有动态分配的变量(通过调用newnew []malloccalloc)时才会发生内存泄漏.你的代码中没有,所以.

您拥有的是本地或自动变量.正如名称所示,当{}创建它们的范围结束时,隐式释放自动变量.