Вопросы по теме 'weak-ptr'

shared_ptr, подписка, деструктор
Я использую указатели Boost/shared_ptr в своем приложении. Когда последняя ссылка на объект будет освобождена, shared_ptr удалит этот объект для меня. Объекты в приложении подписываются на события в центральном расположении приложения, аналогично...
903 просмотров

Потоки общей модели с указателями
У меня есть вектор указателей на объекты, созданные с помощью new . Несколько потоков получают безопасный доступ к этому вектору с помощью различных операций получения/набора. Однако поток может удалить один из объектов, и в этом случае указатель...
444 просмотров
schedule 24.08.2022

std::set of boost::weak_ptr‹T› — Преобразование const_iterator в const T?
У меня есть класс, содержащий std::set из boost::weak_ptr<T> . У меня есть две функции begin() и end(), которые возвращают итератор в контейнер. Однако я не хочу, чтобы клиенты могли изменять T . Простое возвращение const_iterator не...
1046 просмотров
schedule 20.10.2022

Слабая ссылка на scoped_ptr?
Обычно я следую руководству по стилю Google, которое, как мне кажется, хорошо согласуется с тем, как я вижу вещи. Я также почти всегда использую boost::scoped_ptr, так что только один менеджер имеет право собственности на конкретный объект. Затем я...
996 просмотров
schedule 13.12.2022

Реализация шаблона проектирования MVP в STL
Я пытаюсь реализовать шаблон MVP с использованием STL, и я использовал * shared_ptr * и * weak_ptr * для «разрыва цикла» при наличии повторяющихся ссылок. class i_model; class i_view; class i_view { public: i_view() :...
1540 просмотров
schedule 28.09.2022

Почему std::weak_ptr‹› не обеспечивает логическое преобразование?
std::shared_ptr‹> в C++11 предоставляет своего рода логический оператор. operator unspecified-bool-type() const; (Это не прямой operator bool() const из-за опасности от неявного приведения типа bool .) Почему в std::weak_ptr‹> нет...
2186 просмотров
schedule 09.06.2022

Сравнение равенства std::weak_ptr
Я хочу сравнить два std::weak_ptr или один std::weak_ptr и один std::shared_ptr на равенство. Я хочу знать, является ли объект, на который указывает каждый из weak_ptr/shared_ptr, одинаковым. Сравнение должно давать отрицательные результаты не...
15412 просмотров
schedule 13.07.2023

Как я могу использовать std::map с ключом std::weak_ptr?
Как я могу использовать std::weak_ptr в качестве ключа для std::map , как показано в следующем коде? #include <map> #include <memory> int main() { std::map< std::weak_ptr<int>, bool > myMap;...
6645 просмотров

ссылка на велотренажер boost shared_ptr?
Из документации по boost по boost :: shared_ptr: Поскольку реализация использует подсчет ссылок, циклы экземпляров shared_ptr не будут возвращены. Например, если main () содержит shared_ptr для A, который прямо или косвенно удерживает...
801 просмотров

В чем разница между необработанным указателем и weak_ptr?
Как в названии. На этот вопрос, вероятно, уже есть ответ, но я не нашел его.
8274 просмотров
schedule 26.08.2022

Как избавиться от weak_ptrs в контейнере
У меня есть класс, который хранит weak_ptr в контейнере, а затем что-то делает, если срок действия weak_ptr не истек: class Example { public: void fill(std::shared_ptr<int> thing) { member.push_back(thing); } void...
4510 просмотров
schedule 07.12.2022

будет weak_pointer.lock() увеличивать счетчик ссылок оригинального shared_ptr, который использовался для создания weak_ptr
Насколько я понимаю, слабый указатель используется для циклической зависимости, возникает проблема, если мы используем все объекты shared_ptr и если есть циклическая зависимость. Слабые указатели используются для разрыва циклов. слабые указатели...
812 просмотров
schedule 11.07.2022

Какой смысл в owner_less, если устаревший weak_ptr будет давать неопределенное поведение?
Прошу принять во внимание мою неопытность, но я не понимаю смысла std::owner_less . Мне было показано , что map с ключом weak_ptr в качестве ключа не рекомендуется, потому что ключ weak_ptr с истекшим сроком действия фактически сломает...
1670 просмотров
schedule 30.05.2022

Как я могу сохранить константность и RAII?
У меня ситуация похожа на включенную: class A { public: A(shared_ptr<B>); } class B : public enable_shared_from_this<B> { const shared_ptr<A> a; } У меня не может быть shared_ptr в B до построения,...
269 просмотров
schedule 15.12.2022

Сравните connection_hdl (weak_ptr) на равенство
Мне нужно сравнить два websocket++ connection_hdl : // Create a weak pointer on the heap using that shared_ptr. // Cast that weak pointer to void* and manage it using another shared_ptr // connection_hdl hdl(reinterpret_cast<void*>(new...
497 просмотров
schedule 23.05.2023

Фильтрация контейнера ( std::vector ) std::shared_ptr в контейнер std::weak_ptr
Я пытаюсь отфильтровать контейнер shared_ptr и сохранить отфильтрованный контент в контейнере, которому не принадлежит (weak_ptr). Найденная ниже программа дает сбой. Может ли кто-нибудь увидеть, что мне не хватает? #include <memory>...
291 просмотров
schedule 21.06.2022

Сохранить слабый указатель на себя
Я работаю с кодовой базой, которая была частично реализована кем-то, кто любил чрезмерно сложные решения простых проблем (например, классы шаблонов с двумя параметрами, которые когда-либо создавались только для одной пары типов). Одна вещь, которую...
5130 просмотров
schedule 20.05.2022

Как использовать weak_ptr в swig?
На домашней странице SWIG говорится, что shared_ptr обрабатывается особым образом, а weak_ptr — нет. Означает ли это, что поддержка weak_ptr имеет какую-то ошибку/проблему в SWIG? Если это нормально использовать, как его использовать? Кто-нибудь...
750 просмотров
schedule 23.10.2022

Привязка С++ к weak_ptr не работает
У меня есть простой тест, в котором я пытаюсь связать аргумент weak_ptr с глобальной функцией, которая принимает weak_ptr и вызывает метод, если вспомогательный указатель все еще действителен. Кажется, это работает, когда я создаю лямбду со слабым...
358 просмотров
schedule 14.07.2023

Поиск weak_ptrs, ссылающихся на shared_ptr
Есть ли способ узнать количество слабых_ptr, на которые ссылается shared_ptr? unique()/use_count() можно использовать для поиска shared_ptrs, но существует ли аналогичная конструкция для поиска ссылающихся слабых_ptrs. Я хочу освободить ресурс,...
99 просмотров