0
ответов

Deletion of pointer to incomplete type and smart pointers

When trying to use an auto_ptr with a type that was declared with forward-declaration, like this: class A; ... std :: auto_ptr а; деструктор A не вызывается (очевидно, потому что ...
вопрос задан: 22 March 2015 00:45
0
ответов

boost shared_ptr: разница между operator = и reset?

Есть ли какие-либо различия между двумя фрагментами кода ниже? Один из них предпочтительнее другого? оператор = boost :: shared_ptr foo; // foo.ptr должен быть NULL foo = boost :: shared_ptr & ...
вопрос задан: 14 January 2015 14:45
0
ответов

Что означает «единичное выделение» для boost :: make_shared

В документе boost для make_shared говорится: Помимо удобства и стиля, такая функция также безопасна в отношении исключений и значительно быстрее потому что он может использовать одно выделение для обоих объектов ...
вопрос задан: 9 December 2014 02:06
0
ответов

Как снизить значение std :: shared_ptr?

Рассмотрим: struct SomethingThatsABase {virtual bool IsChildOne () const {return false; } virtual bool IsChildTwo () const {return false; } }; struct ChildOne: public SomethingThatsABase {...
вопрос задан: 29 July 2014 18:55
0
ответов

std :: shared_ptr thread security объяснено

Я читаю http://gcc.gnu.org/onlinedocs/libstdc++/manual /shared_ptr.html и некоторые проблемы безопасности потоков для меня все еще не ясны: стандартные гарантии того, что подсчет ссылок обрабатывается потокобезопасным ...
вопрос задан: 3 June 2014 22:06
0
ответов

Зачем нужен null shared_ptr и как его можно использовать?

В статье Скотта Мейерса «Эффективный C ++», пункт 18 «Сделать интерфейсы простыми в использовании правильно и трудными для неправильного использования», он упомянул null shared_ptr: std :: tr1 :: shared_ptr pInv (static_cast & ...
вопрос задан: 30 March 2014 02:06
0
ответов

Невозможно использовать пользовательский распределитель с allocate_shared / make_shared

В моей программе на C ++ 11 я использую shared_ptr для некоторых объектов, которые активно создаются и удаляются. Так сложилось, что стандартный распределитель с оператором new является узким местом, поэтому я хочу создать свой ...
вопрос задан: 18 March 2014 06:55
0
ответов

std :: shared_ptr Исключительная безопасность

Я только что понял, читая эту страницу, что конструктор std :: shared_ptr с одним аргументом указателя не исключение. Следовательно, следующий код содержит возможную утечку памяти: std :: shared_ptr < ...
вопрос задан: 18 November 2013 17:06
0
ответов

Накладные расходы и реализация использования shared_ptr

Краткое введение: я работаю над многопоточным кодом, и мне нужно разделить динамически размещаемые объекты между двумя потоками. Чтобы сделать мой код чище (и менее подверженным ошибкам), я хочу явно "удалить"...
вопрос задан: 17 November 2013 11:32
0
ответов

Как добиться, чтобы на объект указывал общий указатель?

У меня есть запрос. Можем ли мы получить объект, на который указывает общий указатель напрямую? Или мы должны получить базовый указатель RAW с помощью вызова get (), а затем обратиться к соответствующему объекту?
вопрос задан: 27 June 2013 18:07
0
ответов

Why do std::shared_ptr work

I found some code using std::shared_ptr to perform arbitrary cleanup at shutdown. At first I thought this code could not possibly work, but then I tried the following: #include #...
вопрос задан: 3 May 2013 07:19
0
ответов

Как реализован std :: tr1 :: shared_ptr?

Я думал об использовании общих указателей, и я знаю, как реализовать один сам - не хочу этого делать, поэтому я пытаюсь std :: tr1 :: shared_ptr, и у меня есть пара вопросов ... Как это справочник ...
вопрос задан: 2 May 2013 11:02
0
ответов

Использование умных указателей для учеников

У меня проблемы с пониманием использования умных указателей в качестве членов класса в C ++ 11. Я много читал об умных указателях и думаю, что понимаю, как работают unique_ptr и shared_ptr / weak_ptr ...
вопрос задан: 27 March 2013 10:51
0
ответов

Использование и информация в C ++ std :: shared_ptr

Я пытаюсь использовать std :: shared_ptr в своем коде. Я видел, что были и другие вопросы по этому поводу, но я все еще получаю ошибку компилятора. Есть ли у меня правильная версия gcc и установка? Что ...
вопрос задан: 19 December 2012 23:05
0
ответов

Инициализировать Boost shared_ptr в конструкторе

У меня есть класс , который имеет объект aboost :: asio :: io_service. Я хочу, чтобы этот объект хранился в boost :: shared_ptr. Итак, мой заголовок выглядит так (я избавился от ненужного кода, чтобы он не отвлекал) ...
вопрос задан: 2 November 2012 00:12
0
ответов

Почему нет специализации std :: shared_ptr ?

Стандарт предоставляет специализацию шаблона std :: unique_ptr, которая правильно вызывает delete [] из его деструктора: void func () {std :: unique_ptr arr (новый int [10]); ..........
вопрос задан: 1 October 2012 20:08
0
ответов

enable_shared_from_this и наследование

У меня есть тип, который наследуется от enable_shared_from_this , и другой тип, наследующий от этого типа. Теперь я не могу использовать метод shared_from_this, потому что он возвращает базовый тип и ...
вопрос задан: 29 September 2012 03:35
0
ответов

Где std-эквивалент boost :: shared_polymorphic_downcast в C ++ 11?

boost :: shared_polymorphic_downcast и другой boost :: shared_ptr функции находятся в Недавно я включил поддержку C ++ 11 в GCC с помощью -std = c ++ 0x. Чтобы избежать ...
вопрос задан: 29 September 2012 03:15
0
ответов

Использование пользовательского удалителя с std :: shared_ptr

Я пытаюсь понять, как использовать std :: shared_ptr с пользовательским удалением. В частности, я использую его с SDL_Surface как: std :: shared_ptr < SDL_Surface > (SDL_LoadBMP (....), SDL_FreeSurface); который ...
вопрос задан: 9 September 2012 16:56
0
ответов

shared_ptr: ужасная скорость

При сравнении двух вариантов указателей - классический и shared_ptr - я был удивлен значительным увеличением скорости работы программы. Для тестирования инкрементальной вставки 2D Делоне ...
вопрос задан: 7 September 2012 17:24
0
ответов

boost :: shared_ptr уничтожить обратный вызов

Я копался в документации по boost, искал обратный вызов, который вызывается непосредственно перед удалением объекта в boost :: shared_ptr, поэтому я могу записать состояние объекта обратно на жесткий диск и удалить ...
вопрос задан: 25 August 2012 03:12
0
ответов

Как сделать стандартный ::общий _указатель из объекта указателя, отличного от -?

На выходе одной функции я получаю объект типа Foo. В качестве аргумента другому классу мне нужно передать объект типа std::shared_ptr. Как я могу сделать общий указатель из...
вопрос задан: 16 August 2012 17:14
0
ответов

std ::общие _списки указателей и инициализаторов

Конструктор std ::shared _ptr ведет себя не так, как я ожидал:#включить #include void func (std ::vector strings ){ for (auto const& string :...
вопрос задан: 6 August 2012 00:08
0
ответов

Передача общих указателей в качестве аргументов

Если я объявляю объект, заключенный в общий указатель: std::shared_ptr myClassObject(new myClass()); затем я хотел передать его как аргумент методу: DoSomething(myClassObject); //...
вопрос задан: 4 August 2012 03:18
0
ответов

Можно ли применить __restrict__ к shared_ptr ?

Смарт-указатели - это указатели внизу, поэтому есть ли способ определить параметр shared_ptr для функции, не связанный с другим shared_ptr или другим указателем любого типа? Или это, для некоторых ...
вопрос задан: 2 August 2012 18:26
0
ответов

как преодолеть make _общую константу

Я столкнулся с некоторой проблемой и не могу решить, какое правильное решение. Вот пример кода для иллюстрации:#включить #include ...
вопрос задан: 31 July 2012 14:31
0
ответов

Создать общий _ptr, не владеющий -?

Я новичок в C++11 и сейчас работаю над улучшением своих навыков C++, пытаясь избежать прямого использования указателей. Я пытаюсь написать менеджер спрайтов, который отслеживает ранее загруженные спрайты...
вопрос задан: 30 July 2012 12:55
0
ответов

Один и тот же адрес, несколько общих счетчиков _ptr, запрещено ли это стандартом C++?

Предположим, мне нужно сделать следующее (Это просто какой-то воображаемый код для обсуждения стандарта C++, поэтому я не буду обсуждать, почему я разрабатываю его таким образом, так что не беспокойте меня чем-то...
вопрос задан: 29 July 2012 02:32
0
ответов

общий _указатель с не -ресурсами указателя

В С++ 11 можно использовать общий _ptr для управления ресурсами указателя, отличного от -? Можно использовать уникальный _ptr для управления ресурсами, не являющимися указателями -. Это делается путем реализации собственного класса удаления...
вопрос задан: 25 July 2012 14:31
0
ответов

Приведение общего _ptr к общему _ptr

У меня есть структура :struct Params { std ::shared _ptr user _data; / *... */ }; Я хочу использовать его вот так :int main (){ std ::shared _ptr sp (new...
вопрос задан: 23 July 2012 17:43