reference-counting

    0熱度

    1回答

    我正在爲我所有的類編寫dispose方法,所以我可以通過引用計數讓他們的對象符合垃圾回收的條件。如果一個類變量用於int,uint或Number,我不必在我的dispose方法中將它清空,對嗎?那些包含這些數據類型的數組/向量呢?我不需要做array.length = 0,對不對?但我必須做array = null。關於字符串呢?有沒有其他的數據類型,我沒有空引用?

    1熱度

    1回答

    有史以來第一個問題,如果之前有人問過 - 我做了搜索,但找不到任何似乎回答它的東西。 我一直在試圖理解python的__del__方法的行爲,因爲我需要它對包裝的C代碼執行一些清理。 我對__del__的理解是,當對象的引用計數達到零時調用它,而不是在對象引用上調用del時調用。這使我相信,實例化對象沒有分配會後立即撥打__init__然後__del__,但這似乎並沒有這樣的情況,如下面的代碼演示

    3熱度

    1回答

    引用鏈接與引用計數的優點在於, 之前沒有使用額外的空閒存儲,這使得它更可靠: 創建引用鏈接的智能指針不會失敗。 的缺點是引用鏈接需要更多的內存來記錄它的記錄(三個指針與只有一個指針加上一個整數)。 此外,引用計數應該更快 - 當您複製智能指針時,只需要一個間接尋址和一個增量。清單 管理稍微更詳細。總之,只有在免費店鋪稀缺時,才應使用 參考鏈接。否則, 更喜歡引用計數。 這是引用了Modern C+

    1熱度

    2回答

    我正在寫一個函數,它需要一個很大的參數,並且運行很長時間。它只需要一半的論據。如果沒有更多引用指向該函數,函數是否可以刪除該參數指向的值? 我能得到它,將會刪除該函數返回,就像這樣: def f(m): print 'S1' m = None #__import__('gc').collect() # Uncommenting this doesn't help.

    0熱度

    1回答

    我遇到了一種情況,我正在使用sharedClass並在其中使用塊提取數據。有一個約定,在塊內使用__weak引用來防止保留週期。如何創建一個將在整個應用中保持活動狀態的弱引用? 這是我做的代碼, + (instancetype)sharedPresenter { static PostCareListPresenter *presenterInstance; static di

    4熱度

    1回答

    例如: a = some_process_that_generates_integer_result() b = a 有人告訴我,b和一個將指向整數對象的同一塊,從而b將修改該對象的引用計數。該代碼在功能PyObject* ast2obj_expr(void* _o)在Python的ast.c執行: static PyObject* ast2obj_object(void *o) {

    0熱度

    1回答

    我想從Swift中訪問需要使用C回調的C API。 typedef struct { void * info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; } CFuncContext; typedef void (* CFuncCallback)(void * in

    0熱度

    1回答

    我在閱讀這個guide時,有一個關於object-c中的手動內存管理的問題。 有關問題更加清晰,我將代碼粘貼搞糊塗瞭如下: // CarStore.m - (void)setInventory:(NSMutableArray *)newInventory { if (_inventory == newInventory) { return; } NSMu

    4熱度

    1回答

    我最近發現使用std::tuple<>只是一個元素的問題。我創建了一個擦除類型並保留N個引用計數對象的類。但是,如果引用計數對象是std::tuple<>中唯一的對象,則不會保留。 我做錯了什麼? class token { public: template<typename... Types> token(Types... types) : _self(std::make_

    1熱度

    1回答

    什麼是保留計數的val和arr在下面的代碼片段? NSString *[email protected]"qaz"; NSMutableArray *arr=[[NSMutableArray alloc]init]; [arr addObject:val]; 考慮到我們在MRC。 什麼是str1,str2,str3和str4的保留計數? NSString *str1=[[NSStrin