Вопросы по теме 'shared-ptr'
Являются ли структуры данных подходящим местом для shared_ptr?
Я занимаюсь реализацией бинарного дерева на С++. Традиционно у меня был бы указатель влево и указатель вправо, но ручное управление памятью обычно заканчивается плачевно. Что приводит меня к моему вопросу...
Являются ли структуры данных...
1198 просмотров
schedule
23.11.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
shared_ptr, подписка, деструктор
Я использую указатели Boost/shared_ptr в своем приложении. Когда последняя ссылка на объект будет освобождена, shared_ptr удалит этот объект для меня. Объекты в приложении подписываются на события в центральном расположении приложения, аналогично...
903 просмотров
schedule
10.02.2023
Каково ваше соглашение для определения типа shared_ptr?
Я переключаюсь между соглашениями об именах для определения типа шаблона boost::shared_ptr. Например:
typedef boost::shared_ptr<Foo> FooPtr;
Прежде чем остановиться на соглашении, я хотел бы посмотреть, что используют другие. Какова...
24715 просмотров
schedule
03.06.2024
shared_ptr как член класса
Общепринято объявлять содержащиеся объекты как указатели на этот класс, в то время как «упреждающее объявление» их в заголовочном файле. Это сделано для того, чтобы уменьшить физические зависимости в коде.
Например
class B; // forward...
8804 просмотров
schedule
10.05.2024
intrusive_ptr: Почему не предоставлен общий базовый класс?
Для boost::intrusive_ptr требуется intrusive_ptr_add_ref и intrusive_ptr_release необходимо определить. Почему не предоставлен базовый класс, который будет это делать? Вот пример: http://lists.boost.org/Archives/boost/2004/06/66957.php...
2954 просмотров
schedule
06.07.2022
Пользовательский (пул) распределитель с усилением shared_ptr
Я хочу, чтобы объекты, управляемые shared_ptr, выделялись из пула, скажем, интерфейса Boost's Pool, как этого можно достичь?
8449 просмотров
schedule
03.11.2023
typedef boost::shared_ptr‹MyJob› Ptr; или #define Ptr boost::shared_ptr
Я только начал работать над новой кодовой базой, где каждый класс содержит определение типа shared_ptr ( похоже на это ), например:
typedef boost::shared_ptr<MyClass> Ptr;
Является ли единственная цель сохранить ввод boost::shared_ptr?...
1521 просмотров
schedule
24.02.2023
shared_ptr: ужасная скорость
При сравнении двух вариантов pointerclassic и shared_ptr я был удивлен значительным увеличением скорости работы программы. Для тестирования был использован алгоритм инкрементальной вставки 2D Делоне.
Настройки компилятора:
VS 2010 (выпуск)...
36348 просмотров
schedule
23.12.2022
вопрос о назначении с помощью boost::shared_ptr (по сравнению с функцией reset())
Извините, если где-то на это явно дан ответ, но меня немного смущает документация по повышению и статьи, которые я читал в Интернете.
Я вижу, что я могу использовать функцию reset() для освобождения памяти в shared_ptr (при условии, что счетчик...
7982 просмотров
schedule
02.02.2023
Почему у shared_ptr нет виртуального дескруктора? (и как мне обойти это?)
Я хотел сделать специальную версию shared_ptr , которая выполняла бы определенные операции при создании или уничтожении, но мои планы, похоже, рушатся из-за осознания того, что деструктор shared_ptr не является виртуальным, а это означает, что...
1401 просмотров
schedule
15.01.2023
Управление общими ресурсами в многопоточном приложении shared_ptr?
Мне нужно поделиться BLOB в многопоточном приложении, и в настоящее время я изучаю подход shared_ptr/weak_ptr, но я не совсем уверен, что он правильный.
Существует рабочий поток, который создает класс ресурсов (новый CResource). CResource может...
626 просмотров
schedule
24.05.2023
Xerces-c и shared_ptrs
Я новичок в концепции shared_ptr и пытался перестроить свою программу таким образом, чтобы она использовала интеллектуальные указатели вместо обычных. Я пытаюсь использовать shared_ptr с Xerces-c, и у меня возникают проблемы с инициализацией моего...
496 просмотров
schedule
28.05.2023
семантика boost::shared_ptr (копирование)
Я просто хотел иметь свежую пару глаз, что приведенный ниже код верен в этом:
Указатели, содержащиеся в объекте trifoo (хранящемся в ptr_vector), являются общими указателями f, g, h.
Кроме того, каков результат копирования shared_ptr в...
4415 просмотров
schedule
04.07.2022
Потоки общей модели с указателями
У меня есть вектор указателей на объекты, созданные с помощью new . Несколько потоков получают безопасный доступ к этому вектору с помощью различных операций получения/набора. Однако поток может удалить один из объектов, и в этом случае указатель...
444 просмотров
schedule
24.08.2022
Рефакторинг класса шаблона С++ на основе типа шаблона
Данный класс Foo
template <typename T>
class Foo
{
public:
...other methods..
void bar()
{
...
m_impl.doSomething();
...
}
void fun()
{
...
m_impl.doSomethingElse();
...
}
void fubar()
{
......
516 просмотров
schedule
07.07.2022
Макрос SWIG_SHARED_PTR с шаблонным классом
Я использую SWIG с указателями общего доступа для создания расширений Python. Моя текущая проблема заключается в том, что макрос SWIG_SHARED_PTR, похоже, по-другому работает с шаблонными классами. Я приведу два примера, один без шаблонов (пример), а...
926 просмотров
schedule
19.10.2022
Есть ли способ безопасно удалить QList неуникальных указателей на MyObject?
Я знаю, что такой вопрос задавали до смерти, но я хотел бы знать, есть ли способ сделать то, что я указал в вопросе, без использования указателей библиотеки Boost и т. д. В основном у меня есть следующий фрагмент код очистки, который удаляет...
1185 просмотров
schedule
25.09.2022
Преобразование из boost::shared_ptr в std::shared_ptr?
У меня есть библиотека, которая внутренне использует версию Boost shared_ptr и предоставляет только ее. Однако для моего приложения я хотел бы использовать std::shared_ptr , когда это возможно. К сожалению, нет прямого преобразования между двумя...
11044 просмотров
schedule
06.09.2022
Что быстрее в Visual C ++ 2010 - std :: shared_ptr или boost :: shared_ptr?
Кто-нибудь тестировал это в сборках в режиме выпуска? Или реализации настолько похожи, что нет существенной разницы?
Меня интересует скорость:
Создайте новый shared_ptr
Создайте копию shared_ptr
Отмените ссылку на указатель, чтобы...
1539 просмотров
schedule
24.06.2022