Вопросы с тегом 'smart-pointers'

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

Что такое умный указатель, и когда я должен его использовать?

Что такое умный указатель и когда я должен его использовать?
20 сент. '08 в 3:09
13 отв.

Когда используется std:: weak_ptr?

Я начал изучать интеллектуальные указатели С++ 11, и я не вижу полезного использования std::weak_ptr. Может ли кто-нибудь сказать мне, когда std::weak_ptr полезно/необходимо?
20 авг. '12 в 2:00
5 отв.

Какой тип указателя я использую, когда?

Хорошо, поэтому в последний раз, когда я писал С++ для жизни, std::auto_ptr был доступным для всех std lib, а boost::shared_ptr - все это ярость. Я никогда не смотрел на другие улучшенные форсированные типы указателей. Я понимаю, что С++ 11 теперь п...
03 янв. '12 в 1:58
4 отв.

умные указатели (boost) объяснили

В чем разница между следующим набором указателей? Когда вы используете каждый указатель в производственном коде, если вообще? Примеры были бы оценены! scoped_ptr shared_ptr weak_ptr intrusive_ptr Вы используете boost в производственном коде...
20 февр. '09 в 17:42
6 отв.

RAII и интеллектуальные указатели в С++

На практике с С++, что RAII, что умные указатели, как они реализованы в программе и каковы преимущества использования RAII со смарт-указателями?
27 дек. '08 в 19:13
16 отв.

Есть ли использование unique_ptr с массивом?

std::unique_ptr поддерживает массивы, например: std::unique_ptr<int[]> p(new int[10]); но нужно ли это? вероятно, удобнее использовать std::vector или std::array. Вы найдете какое-либо использование для этой конструкции?
23 мая '13 в 13:35
4 отв.

std:: auto_ptr в std:: unique_ptr

С появлением нового стандарта (и части, уже имеющиеся в некоторых компиляторах) новый тип std::unique_ptr должен быть заменен на std::auto_ptr. Является ли их использование точным совпадением (так что я могу сделать глобальный поиск/замену в моем к...
10 авг. '10 в 19:17
2 отв.

Почему я не могу push_back unique_ptr в вектор?

Что не так с этой программой? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny com...
19 июля '10 в 21:13
2 отв.

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

У меня возникли проблемы с пониманием использования интеллектуальных указателей как членов класса в С++ 11. Я много читал о умных указателях, и я думаю, что понимаю, как работают unique_ptr и shared_ptr/weak_ptr. То, что я не понимаю, - это реальное...
27 марта '13 в 1:46
3 отв.

Какие возможности С++ Smart Pointer доступны?

Сравнение, преимущества, недостатки и когда использовать? Это побочный эффект от потока мусора, где то, что я думал, было простым ответом, вызвало много комментариев о некоторых конкретных реализациях интеллектуальных указателей, так что казалось ...
17 февр. '11 в 10:29
3 отв.

Различия между std :: make_unique и std :: unique_ptr с новым

Есть ли у std::make_unique какие-либо преимущества в эффективности, такие как std::make_shared? По сравнению с созданием вручную std::unique_ptr: std::make_unique<int>(1); // vs std::unique_ptr<int>(new int(1));
22 марта '14 в 2:20
11 отв.

Умные указатели: Или кому принадлежит ребенок?

С++ - все о владении памятью Aka " Семантика владения" Ответственность за освобождение этой памяти лежит на владельце части динамически распределенной памяти. Таким образом, вопрос действительно становится тем, кто владеет памятью. В С++ владение...
18 сент. '08 в 19:35
4 отв.

Где shared_ptr?

Я так расстроен сейчас, после нескольких часов, пытаясь найти, где находится shared_ptr. Ни один из примеров, которые я вижу, не показывает полный код для включения заголовков для shared_ptr (и работы). Простое указание std, tr1 и <memory> не ...
27 мая '10 в 5:58
5 отв.

Существует ли неатомный эквивалент std:: shared_ptr? А почему нет в памяти <памяти>?

Это немного вопрос из двух частей, касающийся атомарности std::shared_ptr: 1. Насколько я могу судить, std::shared_ptr является единственным умным указателем в <memory>, который является атомарным. Мне интересно, существует ли неатомная ве...
28 февр. '13 в 9:49
5 отв.

Зачем мне std:: переместить std:: shared_ptr?

Я просматривал исходный код Clang, и я нашел этот фрагмент: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Почему я хочу std::move a std::shared_ptr? Есть ли какая-...
26 янв. '17 в 13:11