Результаты поиска по запросу "smart-pointers"

11 ответов

Умные указатели: или кто владеет тобой, детка? [закрыто]

C ++ - все о владении памятью Ака "Семантика владения" Ответственность за освобождение этой памяти лежит на владельце куска динамически выделяемой памяти. Таким образом, возникает вопрос: кому принадлежит память? В C ++ владение ...

5 ответов

Передача unique_ptr в функции

Я пытаюсь "модернизировать" некоторый существующий код. У меня есть класс, который в настоящее время имеет переменную-член "Device * device_".Он использует new для создания экземпляра в некотором коде инициализации и имеет «delete device_» в ...

9 ответов

лучшая практика при возврате умных указателей

Какова наилучшая практика при возврате умного указателя, например boost :: shared_ptr? Должен ли я по умолчанию вернуть смарт-указатель или базовый необработанный указатель? Я пришел из C #, поэтому я склонен всегда возвращать умные указатели, ...

ТОП публикаций

4 ответа

unique_ptr и полиморфизм

У меня есть код, который в настоящее время использует сырые указатели, и я хочу перейти на умные указатели. Это помогает очистить код различными способами. Во всяком случае, у меня есть фабричные методы, которые возвращают объекты ...

4 ответа

Передача shared_ptr <Derived> как shared_ptr <Base>

Каков наилучший способ пройтиshared_ptr производного типа к функции, которая принимаетshared_ptr базового типа? Я вообще прохожуshared_ptrs по ссылке, чтобы избежать ненужной копии: int foo(const shared_ptr<bar>& ptr);но это не работает, если я ...

8 ответов

Стоит ли постоянно использовать boost :: ptr_vector вместо std :: vector?

Просто концептуальный вопрос, с которым я столкнулся. В моем текущем проекте мне кажется, что я чрезмерно использую повышениеsmart_ptr а такжеptr_container библиотеки. Я создавалboost::ptr_vectors во многих различных объектах и вызывая метод ...

5 ответов

Как подходить к копированию объектов с помощью умных указателей в качестве атрибутов класса?

Изповысить документацию библиотеки [http://www.boost.org/doc/libs/1_52_0/libs/smart_ptr/smart_ptr.htm]Я прочитал это: Концептуально умные указатели рассматриваются как владеющие указанным объектом и, таким образом, отвечающие за удаление ...

0 ответов

Для чего используется Boost's shared_ptr (shared_ptr <Y> const & r, T * p)?

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

4 ответа

Использование std :: shared_ptr <void> для указания на что-либо

Я используюstd::shared_ptr<void> в моем приложении, чтобы сделать умный указатель, который может указывать на различные типы структур данных, таких как структуры, векторы, матрицы ... в основном на что угодно. Я пытаюсь сопоставить некоторые ...

5 ответов

Есть ли неатомарный эквивалент std :: shared_ptr? И почему нет такого в <memory>?

Это вопрос из двух частей, все об атомарностиstd::shared_ptr: 1.Насколько я могу сказать,std::shared_ptr единственный умный указатель в<memory> это атомно. Мне интересно, есть ли неатомарная версияstd::shared_ptr доступно (я ничего не вижу ...