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

Bee*_*and 1 c++

例如:

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)

Mat*_*son 5

这非常安全.

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

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

  • +1; 是的我知道这些评论也包含答案,但我不喜欢在本网站的评论中回答'简单'问题的做法. (2认同)