如果我将POD结构分配给另一个POD结构,是否有任何内存泄漏?

时间:2013-08-05 11:01:51

标签: c++

例如:

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);

1 个答案:

答案 0 :(得分:5)

这非常安全。

内存泄漏是由(错误)使用指针和内存分配引起的(通常调用new后没有调用delete,但更复杂的情况通常是发生真正问题的地方 - 例如,在处理调用new的类时,未完成“三(或五)规则”。

当然,当使用对malloc和兄弟姐妹的C样式调用时,代码应该有相应的free调用。