2013-08-05 28 views
1

例如:如果我將一個POD結構分配給另一個POD結構,是否有任何內存泄漏?

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

不可以。如果您濫用動態分配,則只會發生內存泄漏。 –

+0

@ R.MartinhoFernandes或與併發訪問 – user2485710

+0

您必須看到[什麼是內存泄漏](http://stackoverflow.com/questions/3373854/what-is-a-memory-leak)。 –

回答

5

這是絕對安全的。 (錯誤)使用指針和內存分配(通常調用new之後沒有調用delete,但更復雜的情況往往出現真正的問題 - 例如,不完成「規則三個(或五個)「,當處理那些呼叫new的班級時)。

當然,當使用C風格調用malloc和兄弟姐妹時,代碼應該有相應的free調用。

+2

+1;是的,我知道評論還包含答案,但我不喜歡在本網站的評論中回答「簡單」問題的做法。 – Bathsheba

相關問題