簡體   English   中英

具有鏈接列表中的成員的對象的析構函數

[英]Destructor for object that has a member from a linked list

我有一個具有一個Vertex成員的Polygon類。 該成員是頂點的鏈接列表的一部分,這些頂點是多邊形的頂點。 因此,Polygon對象僅包含對他的某些頂點的引用,而我通過在鏈接列表中移動來獲得其他引用。

問題是:銷毀多邊形對象。 我來自c ++,在析構函數中所做的工作是從多邊形的頂點開始,在列表中移動並刪除所有頂點。 我應該在C#中做什么? 首先,沒有刪除,並且有自動垃圾收集功能,所以我不知道該怎么辦。

這是c ++析構函數解釋的:

    Polygon::~Polygon(void) {
    if (_v) { // _v is Vertex member the Polygon has, the only one
    Vertex *w = _v->cw(); 
    while (w != _v) { // advance through the linked list members and delete them
        delete w->remove();
        w = _v->cw();
    }
    delete _v; // finally delete the vertex which is member of the polygon
    }

謝謝

什么都不做

GC會自動為您處理所有操作,一旦不再引用它們,便會在某個點收集所有未使用的頂點和多邊形。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM