Вопросы по теме 'weak-ptr'
shared_ptr, подписка, деструктор
Я использую указатели Boost/shared_ptr в своем приложении. Когда последняя ссылка на объект будет освобождена, shared_ptr удалит этот объект для меня. Объекты в приложении подписываются на события в центральном расположении приложения, аналогично...
903 просмотров
schedule
10.02.2023
Потоки общей модели с указателями
У меня есть вектор указателей на объекты, созданные с помощью 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 просмотров
schedule
22.12.2022
ссылка на велотренажер boost shared_ptr?
Из документации по boost по boost :: shared_ptr:
Поскольку реализация использует подсчет ссылок, циклы экземпляров shared_ptr не будут возвращены. Например, если main () содержит shared_ptr для A, который прямо или косвенно удерживает...
801 просмотров
schedule
31.08.2022
В чем разница между необработанным указателем и 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 просмотров
schedule
05.08.2022