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

3 ответа

Почему два необработанных указателя на управляемый объект необходимы в реализации std :: shared_ptr?

Вот цитата из раздела примечаний к реализации cppreference

3 ответа

был конструктор raw-указателя shared_ptr ошибкой?

Оглядываясь назад, учитывая

2 ответа

Общие указатели на синглтон не узнают друг друга

В настоящее время я учусь использовать умные указатели C ++ 11 при программировании движка 2D-игр в качестве хобби с использованием SDL. Однако я столкнулся с проблемой при реализации оболочки OOp для SDL. Намерение заключается в создании ...

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

2 ответа

@DrewDormann хорошо зарекомендовал себя здесь, acidzombie24. У тебя будут проблемы с нулевыми указателями.

я есть что-то вродеshared_ptr<Type> t(makeSomething(), mem_fun(&Type::deleteMe)) Теперь мне нужно вызвать функцию в стиле C, которая требует указатель наType, Как я могу получить это отshared_ptr?

3 ответа

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

риментируя сэтот вопрос Я создал пример, который я совершенно не понимаю. В частности, это подчеркивает мое недопонимание указателей, ссылок и повышения :: s...

16 ответов

 может быть публично удален. Но я полагаю, что не повредит привычке добавлять виртуальные dtors на случай, если они понадобятся позже.

я есть четкое понимание большинства ОО-теорий, но меня смущает одна вещь - виртуальные деструкторы. Я думал, что деструктора всегда называют независимо от того, что и для каждого объекта в цепочке. Когда вы собираетесь сделать их виртуальными и ...

4 ответа

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

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

2 ответа

Как просмотреть внутренние данные умного указателя внутри GDB?

У меня есть тестовая программа, как показано ниже:

4 ответа

Если вы внимательно прочитаете ответ @Howard, то обнаружите, что единственное требование, которое не может быть выполнено с помощью умного указателя «one ptr», - это Aliasing, который - чтобы вернуться к исходному вопросу - в любом случае нельзя выполнить с помощью make_shared. Все остальные требования могут быть выполнены, хотя и непрактичным (то есть менее эффективным или сложным в реализации) способом.

оказано в кодеВот [http://ideone.com/dZbvK], размер объекта, возвращаемого из make_shared, равен двум указателям. Однако почему неmake_shared работать следующим образом (предположим, что T - это тип, на который мы делаем общий ...

1 ответ

Умные указатели для представления графа (соседей вершин) в C ++ 11