Вопросы по теме 'smart-pointers'

auto_ptr или эквивалент shared_ptr в управляемых классах C++/CLI
В C++/CLI вы можете использовать собственные типы в управляемом классе, поскольку не разрешено удерживать член собственного класса в управляемом классе: в этом случае вам необходимо использовать указатели. Вот пример: class NativeClass { .......
6652 просмотров
schedule 15.11.2022

Идиоматическое использование std::auto_ptr или только использование shared_ptr?
Теперь, когда shared_ptr находится в tr1, как вы думаете, что должно произойти с использованием std::auto_ptr ? Оба они имеют разные варианты использования, но все варианты использования auto_ptr также могут быть решены с помощью shared_ptr ....
4516 просмотров
schedule 10.01.2023

Умные указатели с библиотекой, написанной на C
Я использую C ++ с библиотекой OpenCV, которая представляет собой библиотеку обработки изображений, хотя это не имеет отношения к этому вопросу. В настоящее время мне нужно принять дизайнерское решение. OpenCV, будучи библиотекой C, имеет свои...
1833 просмотров
schedule 20.03.2022

Проблемы с написанием конструктора копирования для интеллектуального указателя
Код, с которым я работаю, имеет собственную реализацию интеллектуального указателя, которая выполняет простой подсчет ссылок. Да, у нас не должно быть собственной реализации. Да, мы должны использовать один из Boost или что-то в этом роде....
1780 просмотров
schedule 10.05.2023

Могут ли интеллектуальные указатели выборочно скрывать или перенаправлять вызовы функций на объекты, которые они оборачивают?
Я работаю над проектом, в котором подсчитываются ссылки на определенные объекты - это очень похоже на настройку COM. В любом случае, в нашем проекте есть интеллектуальные указатели, которые избавляют от необходимости явно вызывать Add() и Release()...
255 просмотров

Умные указатели. Когда, где и как?
Во-первых, поскольку существуют разные виды интеллектуальных указателей, я хотел бы сосредоточить этот вопрос на двух из них: навязчивых указателей с подсчетом ссылок и ненавязчивых интеллектуальных указателей. Вопрос задается индивидуально для...
1018 просмотров
schedule 18.08.2022

Каким образом интеллектуальные указатели должны быть сброшены?
Обрабатывают ли интеллектуальные указатели приведение вниз, и если нет, то как безопасно обойти это ограничение? Примером того, что я пытаюсь сделать, является наличие двух векторов STL (например), содержащих интеллектуальные указатели. Первый...
4331 просмотров
schedule 06.04.2022

Для чего используется shared_ptr от boost (shared_ptr ‹Y› const & r, T * p)?
boost::shared_ptr имеет необычный конструктор template<class Y> shared_ptr(shared_ptr<Y> const & r, T * p); и я немного озадачен тем, для чего это может быть полезно. В основном он делит собственность с r , но .get()...
2454 просмотров
schedule 26.06.2022

Привести boost::shared_array‹char› к boost::shared_array‹const char›
Как я могу преобразовать boost::shared_array<char> в boost::shared_array<const char> ?
2973 просмотров
schedule 12.03.2023

подсчет ссылок с помощью циклов в умном указателе С++
В умном указателе shared_ptr используется подсчет ссылок. Однако у подсчета ссылок есть проблема, заключающаяся в том, что он не может разорвать циклы ссылок. У меня есть четыре вопроса по этому вопросу. 1) Может ли кто-нибудь предложить мне...
3039 просмотров
schedule 14.04.2023

Как удалить умные указатели из кеша, когда ссылок больше нет?
Я пытался использовать интеллектуальные указатели для обновления существующего приложения, и я пытаюсь решить загадку. В моем приложении у меня есть кеш объектов, например, я могу называть их книгами. Теперь этот кеш книг запрашивается по...
1169 просмотров
schedule 06.03.2022

Указатель на auto_ptr вместо классического двойного указателя
Я новичок в умных указателях и пытался реорганизовать существующий код для использования auto_ptr. У меня есть вопрос о двойных указателях и их эквиваленте auto_ptr, если это имеет смысл. У меня есть функция, которая принимает в качестве параметра...
1418 просмотров
schedule 27.06.2023

CComPtr CoCreateInstance возвращает 0x80070582 (класс уже существует).
У меня есть функция StartComObjects, вызываемая, когда пользователь нажимает кнопку «Войти», и функция StopComObjects, вызываемая, когда пользователь нажимает кнопку «Отмена». Функция StartComObjects использует CComPtr.CoCreateInstance для создания...
1880 просмотров
schedule 08.07.2022

intrusive_ptr: Почему не предоставлен общий базовый класс?
Для boost::intrusive_ptr требуется intrusive_ptr_add_ref и intrusive_ptr_release необходимо определить. Почему не предоставлен базовый класс, который будет это делать? Вот пример: http://lists.boost.org/Archives/boost/2004/06/66957.php...
2954 просмотров

Считать любую ссылку на класс с помощью наследования?
В моем новом проекте я хочу (в основном, чтобы увидеть, как это будет работать) полностью запретить необработанные указатели в моем коде. Мой первый подход заключался в том, чтобы позволить всем классам унаследовать от этого простого класса: шаблон...
838 просмотров
schedule 09.06.2023

от std :: auto_ptr до std :: unique_ptr
С приходом нового стандарта (а части уже доступны в некоторых компиляторах) новый тип std::unique_ptr должен заменить std::auto_ptr . Точно ли их использование перекрывается (чтобы я мог выполнить глобальный поиск / замену в моем коде (не то,...
63874 просмотров

Сравнения интеллектуальных указателей C++0x: непоследовательность, в чем причина?
В C++0x (n3126) интеллектуальные указатели можно сравнивать как реляционно, так и на равенство. Однако то, как это делается, кажется мне несовместимым. Например, shared_ptr определяет operator< как эквивалент: template <typename T,...
1223 просмотров
schedule 11.10.2022

Умный указатель С++ на статически и динамически выделенный ресурс
моему базовому классу необходимо предоставить метод, который для некоторых производных классов будет возвращать интеллектуальный указатель на динамически выделенный массив, а для некоторых других производных классов будет возвращать указатель/ссылку...
613 просмотров
schedule 11.01.2023

Умный указатель с подсчетом ссылок, который удаляет принадлежащий объекту с счетчиком ссылок больше нуля?
У меня есть дизайн, в котором объекты одновременно принадлежат 2 очередям. Иногда сами очереди могут быть удалены. В этом случае все объекты в очереди должны быть удалены и удалены из другой очереди, в которой они находятся. Текущее решение имеет...
298 просмотров
schedule 08.03.2023

использование mem_fun() для контейнера интеллектуальных указателей
Недавно я принял решение изменить вектор указателей на вектор интеллектуальных указателей, но хотя эти интеллектуальные указатели совместимы с STL, мне не удалось преобразовать некоторые алгоритмы для их использования. Рассмотрим class Base {...
1063 просмотров
schedule 05.05.2022