Запитання з тегом «smart-pointers»

Абстрактний тип даних, який імітує вказівник, надаючи додаткові функції, такі як автоматичне збирання сміття або перевірка меж



4
Який тип покажчика я використовую, коли?
Гаразд, тож востаннє, коли я писав C ++ на життя, std::auto_ptrбув у всіх наявних std ліб, і він boost::shared_ptrбув весь гнів. Я ніколи насправді не роздивлявся, якщо передбачено збільшення інших типів розумних вказівників. Я розумію, що C ++ 11 надає деякі типи прискорених типів, але не всі. Так у когось …

4
розумні покажчики (boost) пояснено
Яка різниця між наступним набором покажчиків? Коли ви використовуєте кожен покажчик у виробничому коді, якщо він взагалі є? Приклади були б вдячні! scoped_ptr shared_ptr weak_ptr intrusive_ptr Чи використовуєте ви стимул у виробничому коді?

2
Чому я не можу не повернути унікальний_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 command has a vicious error. return 0; } Помилка: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) …


4
std :: auto_ptr to std :: unique_ptr
З новим стандартом (і деталі, які вже доступні в деяких компіляторах), новий тип std::unique_ptrповинен бути заміною std::auto_ptr. Чи точно їхнє використання перекривається (тому я можу зробити глобальний пошук / заміну свого коду (не те, що я б це зробив, але якби це зробив)) чи я повинен знати про деякі відмінності, …

2
Використання розумних покажчиків для учнів класу
У мене виникають проблеми з розумінням використання смарт-покажчиків як членів класу в C ++ 11. Я багато читав про розумні покажчики і, думаю, я розумію, як unique_ptrі shared_ptr/ weak_ptrв цілому працювати. Що я не розумію, це справжнє використання. Схоже, всі рекомендують використовувати unique_ptrяк шлях, який потрібно пройти майже весь час. …

8
Чому бібліотеки та фреймворки C ++ ніколи не використовують смарт-покажчики?
Я прочитав у кількох статтях, що сировинні покажчики майже ніколи не повинні використовуватися. Натомість вони завжди повинні бути загорнуті всередину розумних покажчиків, незалежно від того, чи це вказівки масштабу або спільні. Однак я помітив, що такі рамки, як Qt, wxWidgets та бібліотеки, як Boost, ніколи не повертаються та не очікують …

6
Чому б я std :: перемістити std :: shared_ptr?
Я переглядав вихідний код Clang і знайшов цей фрагмент: void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = std::move(Value); } Чому я хочу ?std::movestd::shared_ptr Чи є якась точка передачі права власності на спільний ресурс? Чому б я просто не зробив це замість цього? void CompilerInstance::setInvocation( std::shared_ptr<CompilerInvocation> Value) { Invocation = Value; }


3
Які реалізовані програми C ++ Smart Pointer доступні?
Порівняння, плюси, мінуси та коли їх використовувати? Це відкрутка від потоку збору сміття, де, на мою думку, це була проста відповідь, було створено багато коментарів щодо деяких конкретних реалізацій розумних покажчиків, тому, здавалося, варто почати нову публікацію. Зрештою, питання полягає в тому, які існують інтелектуальні покажчики в C ++ там …

11
Розумні покажчики: кому належить об’єкт? [зачинено]
Важко сказати, про що тут питають. Це запитання є неоднозначним, розпливчастим, неповним, надто широким або риторичним і не може бути обґрунтовано відповісти в його теперішній формі. Для уточнення цього питання, щоб його можна було знову відкрити, відвідайте довідковий центр . Закрито 8 років тому . C ++ - це все …

4
Де поділяється_ptr?
Я так засмучений зараз через кілька годин, намагаючись знайти місце, де знаходиться спільний_ptr. Жоден із прикладів, які я бачу, не містить повного коду, щоб включити заголовки для shared_ptr(та працюючих). Просто констатуючи std, tr1і <memory>зовсім не допомагає! Я завантажив прискорення, і все, але все ще не відображається! Чи може хтось мені …

5
Скільки коштує накладних витрат на розумні вказівники порівняно із звичайними вказівниками в C ++?
Скільки коштує накладних витрат на розумні вказівники порівняно із звичайними вказівниками в C ++ 11? Іншими словами, чи буде мій код повільнішим, якщо я використовую розумні вказівники, і якщо так, то наскільки повільнішим? Зокрема, я запитую про C ++ 11 std::shared_ptrі std::unique_ptr. Очевидно, що речі, що штовхаються вниз, будуть більшими …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.