Описание тега reference-counting
Подсчет ссылок - это механизм, с помощью которого компьютерный язык отслеживает, когда вы создаете, а затем больше не нуждаетесь в объекте или структуре данных, чтобы освободить ненужную память. Традиционно программист делал это вручную.
1
ответ
Что на самом деле делает CPython, когда "=" выполняется для переменных примитивного типа?
Например: a = some_process_that_generates_integer_result() b = a Кто-то сказал мне, что b и a будут указывать на один и тот же кусок целочисленного объекта, поэтому b будет изменять счетчик ссылок этого объекта. Код выполнен в функции PyObject* ast2…
11 июн '16 в 13:39
1
ответ
LibGDX - Должна ли текстура.dispose() выполняться сначала, а затем batch.dispose()? или не отличается?
LibGDX - Должна ли текстура.dispose () выполняться сначала, а затем batch.dispose ()? или не отличается? У меня есть следующий простой код. Мой вопрос должен должен texture.dispose (); сначала выполнить, а затем batch.dispose () в методе dispose ()?…
22 июн '15 в 12:07
3
ответа
dynamic_cast COM-объекта в COM-интерфейс не влияет на счетчик ссылок, не так ли?
Если у меня есть класс C++, X, который реализует интерфейсы COM IY и IZ, и у меня есть указатель y на интерфейс IY объекта типа X, и я делаю это: IZ *z = dynamic_cast<IZ *> ( y ); Это не влияет на счетчик ссылок объекта, не так ли? Мне не нужн…
22 сен '09 в 15:31
3
ответа
Пример кода: Почему я все еще могу получить доступ к этому объекту NSString после того, как я его выпустил?
Я просто писал некоторый исследовательский код, чтобы укрепить мое понимание Objective-C, и я наткнулся на этот пример, который мне не совсем понятен. Я определяю этот метод и запускаю код: - (NSString *)stringMethod { NSString *stringPointer = [[NS…
07 окт '09 в 01:40
1
ответ
Созданный COM-компонент становится недействительным после выхода из метода (но не в область его действия)
В настоящее время я тестирую два внешних компонента COM. У меня большая проблема с одним из них, но я не могу найти причину такого поведения. Позвольте мне привести пример. const CLASS_SomeClas: TGUID = '{SomeGUID}'; type ISomeInterface = interface(…
04 июл '14 в 14:47
3
ответа
Как управляется память для объекта, который создан, но не назначен ни одному указателю?
Это может быть глупый вопрос, но он продолжает беспокоить меня. Скажем, если у нас есть метод, который принимает NSString объект в качестве параметра и что-то делает с NSString объект, - (void)someMethod:(NSString *)str { //do something with str } Р…
28 июн '13 в 20:28
4
ответа
Подсчет ссылок в C++ OO-Style
В FAQ по C++ я натолкнулся на интригующую реализацию базового класса, которая, согласно моему наивному пониманию, могла бы служить альтернативой некоторым реализациям интеллектуальных указателей (например, shared_ptr). Вот пример кода, но, пожалуйст…
03 авг '12 в 01:49
3
ответа
Почему передача слабой ссылки на блок предотвращает сохранение объекта?
Мы все знаем, что блоки сохраняют объекты, которые они захватывают. Мы также знаем, что этого можно избежать, передав слабую ссылку на объект в блок. Но почему это работает так? Сохранить объект - значит увеличить его количество на единицу. Почему и…
08 янв '15 в 19:31
1
ответ
Очевидная утечка памяти при использовании PyTuple_SetItem
Я строю вложенный набор кортежей в расширении C++ Python. Однако у меня возникли проблемы с управлением счетчиками ссылок. Минимальный код для воссоздания этой утечки памяти: PyObject *outer = PyTuple_New(outer_size); for (size_t index = 0; index &l…
01 мар '12 в 01:11
2
ответа
AddRef() в VB6
Можно ли вызвать метод AddRef() из интерфейса IUnknown в Visual Basic 6 или реализовать некоторые взломать, чтобы увеличить счетчик ссылок на объекты?
25 авг '11 в 10:58
2
ответа
Функции Python C-API, которые заимствуют и крадут ссылки
Стандартное соглашение в Python C-API заключается в том, что функции не крадут ссылки из входных аргументов (которые являются объектами) возвращаемые значения и выходные аргументы (которые являются объектами) имеют ссылку Большинство функций в Pytho…
20 апр '12 в 14:01
4
ответа
Что такое ссылочный цикл в Python?
Я посмотрел в официальной документации для Python, но я не могу найти, что такое ссылочный цикл. Может ли кто-нибудь уточнить, что это для меня, как я пытаюсь понять модуль GC. Заранее благодарю за ваши ответы.
28 мар '12 в 15:26
2
ответа
Delphi: С каких это пор ссылки на интерфейсы больше не выпускаются в конце блока with?
Недавно я наткнулся на проблему, вызванную некоторым очень старым кодом, который я написал, который, очевидно, предполагал, что ссылки на интерфейсы, используемые в with заявление будет выпущено, как только with-блок остался - вроде как неявный try-…
05 авг '09 в 14:50
2
ответа
C++11 Shared Ptr, использовать тот же счетчик ссылок
Можно ли иметь 2 разных объекта, которые имеют один и тот же счетчик ссылок? Говорит у меня shared_ptr<Foo> myFoo; shared_ptr<Bar> myBar; Я хочу, чтобы оба объекта оставались в живых, пока не будет одной ссылки на Foo или Bar (так что, в…
08 июл '13 в 15:36
2
ответа
Убедитесь, что объект находится только в одном списке
Я застрял с довольно простой вопрос. Мне нужно убедиться, что объект находится только в одном списке. например, у меня есть два списка (псевдокод): Object person = new Object(); List waitingForCoffe = new List(); List waitingForTee = new List(); Как…
01 июл '14 в 19:52
2
ответа
Каково количество ссылок на объекты A и B после назначения B=A?
Что такое счетчик ссылок A а также B после назначения B=A в этом коде? Class1 *A=[[Class1 alloc] init]; Class1 *B=[[Class1 alloc] init]; [A retain]; NSMutableArray *tempArray= [NSMutableArray alloc]init]; [tempArray addobject:A]; B=A;
17 июн '15 в 16:25
2
ответа
Как 2 unix-файла могут иметь один и тот же индекс, но число ссылок для индекса составляет 1?
Насколько я понимаю, файловая система unix / inode состоит в том, что два имени могут ссылаться на один и тот же номер инода, но в таких случаях счетчик ссылок будет равен 2. Однако сегодня я заметил, что файл / etc / hosts и /private/etc Файл / hos…
15 май '14 в 06:46
1
ответ
В чем разница между сборкой мусора и подсчетом ссылок в Mac OS
В чем разница между сборкой мусора и подсчетом ссылок в Mac OS X. Спасибо и всего наилучшего. Махадеван С
30 авг '10 в 08:32
1
ответ
Можно ли рассчитывать на подсчет ссылок, чтобы закрыть файл в Python?
В этом вопросе " Генерация контрольной суммы MD5 файла" у меня был этот код: import hashlib def hashfile(afile, hasher, blocksize=65536): buf = afile.read(blocksize) while len(buf) > 0: hasher.update(buf) buf = afile.read(blocksize) return hasher…
29 дек '16 в 08:21
1
ответ
Неожиданное значение, возвращаемое функцией use_count() shared_ptr при извлечении из вектора
Программа ниже выводит неожиданный use_count() значение, когда разделяемый указатель печатается с использованием iterator опровержение std::vector: #include<iostream> #include<memory> #include<vector> class A; typedef std::shared_p…
02 авг '17 в 15:23