例如:
struct Vertex
{
int x;
int y;
};
Vertex makeVertex(int xpos, int ypos)
{
Vertex tmp = {xpos, ypos};
return tmp;
}
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我会得到内存泄漏吗?:
Vertex a = makeVertex(30,40);
a = makeVertex(5, 102);
Run Code Online (Sandbox Code Playgroud)
这非常安全.
内存泄漏是由(错误)使用指针和内存分配引起的(通常调用后new没有调用delete,但更复杂的情况通常发生在真正的问题 - 例如,没有完成"三(或五)规则" "在处理有调用的类时new.
当然,当使用C样式调用malloc和兄弟姐妹时,代码应该有相应的free调用.
| 归档时间: |
|
| 查看次数: |
116 次 |
| 最近记录: |