Кто-нибудь знает о реализация shared_ptr и weak_ptr вместе с ленивым партнером по инициализации? К классам предъявлялись следующие требования: Класс lazy_ptr, который позволяет клиенту создавать ...
Поскольку у boost :: / std :: shared_ptr есть преимущество удаления типа со стираниями, вы можете делать приятные вещи, например #include typedef std :: shared_ptr gc_ptr; int main () {gc_ptr ...
Я использую enable_shared_from_this , а затем наследую от Base. При попытке использовать shared_from_this () в конструкторе Derived (не в списке инициализаторов) я получаю исключение. Оказывается, ...
make_shared более эффективен, чем отдельный вызов new и создание shared_ptr, потому что make_shared выделяет пространство для счетчика ссылок и слабого счетчика в том же блоке памяти, что и клиент ...
Если я перемещаю shared_ptr 'a' в shared_ptr 'b', 'a' гарантированно будет нулевым? Указывается ли состояние какого-либо стандартного класса после перемещения?
Я слышал, что автоуказатели владеют своим объектом, в то время как общие указатели могут иметь много объектов, указывающих на них. Почему бы нам не использовать общие указатели все время. В связи с этим, что такое умные ...
У меня есть общий объект, который нужно отправить в системный API и извлечь его позже. Системный API получает только void *. Я не могу использовать shared_ptr :: get (), потому что он не увеличивает ссылку ...
У меня есть следующий код: #include class Foo;
typedef std :: tr1 :: shared_ptr pFoo_t; class DoSomething
{
public: static void doSomething (pFoo_t p) {printf ("выполнение ...
Я пытаюсь сохранять объекты в std :: set. Эти объекты - boost :: shared_ptr <>, взятые из среды python. добавление значений в набор не вызовет никаких проблем. Но когда я пытаюсь стереть ...
I ' m создание класса, который будет частью DAG. Конструктор будет принимать указатели на другие экземпляры и использовать их для инициализации списка зависимостей.
После инициализации списка зависимостей он может ...
У меня есть этот код, который не работает, но Я думаю, что цель ясна: testmakeshared.cpp #include class A {public: static :: std :: shared_ptr create () {return :: std: ...
Я пытаюсь сравнить производительность между необработанными указателями, повысить shared_ptr и повысить weak_ptr. Что касается разыменования, я ожидал, что shared_ptr и raw_ptr будут равны, но результаты показывают, что shared_ptr...
Я пытаюсь использовать std :: shared_ptr в clang ++ (версия clang 3.1 (магистраль 143100)) с помощью libstdc ++ (4.6.1). У меня есть небольшая демонстрационная программа: #include int main ()
{std :: shared_ptr <...
Мне нужно написать копию конструктора, который глубоко копирует содержимое std :: shared_ptr. Однако есть куча переменных int a, b, c, d, e; также определен в классе. Есть ли способ генерировать ...
Кто-нибудь знает об автономной реализации с открытым исходным кодом из TR1 shared_ptr (и, возможно, других интеллектуальных указателей), которые я могу использовать в своих программах? Примечание: «Автономная реализация shared_ptr» означает ...
Итак, у нас есть (псевдокод) : класс А
{A (родитель shared_ptr) {}
} класс B
{A * a; B () {a = новый A (boost :: shared_ptr (это)); }
} Возможно ли это сделать с shared_ptr в C ++ и как ...
Я получаю ошибку компиляции с g ++ 4.6 и повышаю 1.42 при использовании boost :: make_shared (...), тогда как shared_ptr (new T (...)) компилируется нормально. К сожалению, я не могу ...
Как показано в приведенном здесь коде, размер объекта, возвращаемого make_shared, равен двум указателям. Однако почему make_shared не работает следующим образом (предположим, что T - это тип, который мы делаем совместно используемым ...
Кто-нибудь тестировал это в сборках в режиме выпуска ? Или реализации настолько похожи, что нет существенной разницы? Меня интересует скорость: Создать новый shared_ptr
Создайте копию ...
Рассмотрим следующий код: class B {int x;
public: B (): x (10) {} int get_x () const {return x; } void set_x (целое значение) {x = значение; }
}; класс А
{boost :: shared_ptr
У меня есть библиотека, которая внутренне использует версию shared_ptr Boost и предоставляет только те. Однако для моего приложения я бы хотел по возможности использовать std :: shared_ptr. К сожалению, нет прямого ...
Я поискал в Интернете и прочитал документацию Boost о shared_ptr. На SO есть ответ, в котором говорится, что shared_ptr для Copy-On-Write (COW) - отстой и что TR! удалил его из ...
Есть много SO вопросов, которые похожи на этот, но я не смог найти точно то, что искал. Извините, если это дубликат. У меня есть Родительский класс и два производных класса, которые ...