[英]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.