例如:
struct Vertex
{
int x;
int y;
};
Vertex makeVertex(int xpos, int ypos)
{
Vertex tmp = {xpos, ypos};
return tmp;
}
如果这样做,是否会发生内存泄漏?:
Vertex a = makeVertex(30,40);
a = makeVertex(5, 102);
这是绝对安全的。
内存泄漏是由(错误)使用指针和内存分配引起的(通常new
不进行调用delete
,而后再调用,但是更复杂的情况经常发生真正的问题-例如,未完成“三个(或五个)规则”在处理对调用的类时new
。
当然,当使用C样式对malloc
和兄弟的调用时,代码应具有相应的free
调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句