Результаты поиска по запросу "shared-ptr"
Почему два необработанных указателя на управляемый объект необходимы в реализации std :: shared_ptr?
Вот цитата из раздела примечаний к реализации cppreference
был конструктор raw-указателя shared_ptr ошибкой?
Оглядываясь назад, учитывая
Общие указатели на синглтон не узнают друг друга
В настоящее время я учусь использовать умные указатели C ++ 11 при программировании движка 2D-игр в качестве хобби с использованием SDL. Однако я столкнулся с проблемой при реализации оболочки OOp для SDL. Намерение заключается в создании ...
@DrewDormann хорошо зарекомендовал себя здесь, acidzombie24. У тебя будут проблемы с нулевыми указателями.
я есть что-то вродеshared_ptr<Type> t(makeSomething(), mem_fun(&Type::deleteMe)) Теперь мне нужно вызвать функцию в стиле C, которая требует указатель наType, Как я могу получить это отshared_ptr?
Ссылка сохраняется, поскольку она все еще ссылается на существующий объект. Указатель этого не делает, потому что он указывает на более не существующий объект.
риментируя сэтот вопрос Я создал пример, который я совершенно не понимаю. В частности, это подчеркивает мое недопонимание указателей, ссылок и повышения :: s...
может быть публично удален. Но я полагаю, что не повредит привычке добавлять виртуальные dtors на случай, если они понадобятся позже.
я есть четкое понимание большинства ОО-теорий, но меня смущает одна вещь - виртуальные деструкторы. Я думал, что деструктора всегда называют независимо от того, что и для каждого объекта в цепочке. Когда вы собираетесь сделать их виртуальными и ...
Передача shared_ptr <Derived> как shared_ptr <Base>
Каков наилучший способ пройтиshared_ptr производного типа к функции, которая принимаетshared_ptr базового типа? Я вообще прохожуshared_ptrs по ссылке, чтобы избежать ненужной копии: int foo(const shared_ptr<bar>& ptr);но это не работает, если я ...
Как просмотреть внутренние данные умного указателя внутри GDB?
У меня есть тестовая программа, как показано ниже:
Если вы внимательно прочитаете ответ @Howard, то обнаружите, что единственное требование, которое не может быть выполнено с помощью умного указателя «one ptr», - это Aliasing, который - чтобы вернуться к исходному вопросу - в любом случае нельзя выполнить с помощью make_shared. Все остальные требования могут быть выполнены, хотя и непрактичным (то есть менее эффективным или сложным в реализации) способом.
оказано в кодеВот [http://ideone.com/dZbvK], размер объекта, возвращаемого из make_shared, равен двум указателям. Однако почему неmake_shared работать следующим образом (предположим, что T - это тип, на который мы делаем общий ...