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

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

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

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

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

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

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

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

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

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

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

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

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

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

std:: auto_ptr в std:: unique_ptr

С появлением нового стандарта (и частей, уже доступных в некоторых компиляторах), новый тип std::unique_ptr должен заменить std::auto_ptr. Их использование в точности совпадает (поэтому я могу выполнить глобальный поиск/замену в моем коде (не то, ч...
10 авг. '10 в 16: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 в 18:13
2

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

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

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

Сравнение, преимущества, недостатки и когда использовать? Это побочный эффект от потока мусора, где то, что я думал, было простым ответом, вызвало много комментариев о некоторых конкретных реализациях интеллектуальных указателей, так что казалось ...
17 февр. '11 в 7: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));
21 мар. '14 в 23:20
11

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

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

Где shared_ptr?

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

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

Это немного вопрос из двух частей, касающийся атомарности std::shared_ptr: 1. Насколько я могу судить, std::shared_ptr является единственным умным указателем в <memory>, который является атомарным. Мне интересно, существует ли неатомная ве...
28 февр. '13 в 6: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 в 10:11