Свързани въпроси 'smart-pointers'

Указания за използване на std::unique_ptr
Какви са указанията за използване на std::unique_ptr ? Със сигурност не трябва да се използва, когато указателят се споделя между други обекти, модули. Но може би има други насоки? за pImpl за членски указател вътре в класа за какво...
75 изгледи
schedule 28.10.2022

Прехвърляне на собственост за функциониране със std::unique_ptr
Опитвам се да се науча как да използвам интелигентни указатели и да разбера собствеността. Когато предам auto_ptr на функция по стойност, функцията поема изключителна собственост върху този указател. Така че, когато функцията приключи, тя изтрива...
7445 изгледи
schedule 27.11.2023

C++ итератор със слаби указатели към контейнерни елементи
Имам контейнер с общо дърво и бих искал да внедря итератор, който да обхожда неговите елементи. В основния контейнер използвах споделени указатели за свързване на различните възли на дървото. Има ли смисъл да се прилага итератор, използващ слаби...
354 изгледи
schedule 01.11.2023

Защо std::unique_ptr има членска функция get()?
Не е ли std::unique_ptr проектиран да бъде уникален указател към памет и никой друг указател не трябва да сочи към тази памет? Тогава защо std:unique_ptr има функция член get() , която връща необработен указател към паметта, притежавана от...
601 изгледи
schedule 26.10.2022

Преобразуване на обекти от базов клас в производен клас
Преди няколко дни попитах някои разяснения относно наследството , концепция, която все още се опитвам да разбера. Ето последващия въпрос, тъй като все още имам проблеми. В моя проект имам 2 типа обекти, Ръка и Лице, като и двата наследяват от...
5280 изгледи

C++ използва scoped_ptr като членска променлива
Просто исках мнения по въпрос относно дизайна. Ако имате C++ клас, който притежава други обекти, бихте ли използвали интелигентни указатели, за да постигнете това? class Example { public: // ... private: boost::scoped_ptr<Owned>...
18608 изгледи
schedule 14.03.2024

Как да извикате функция const член на друг клас чрез член std::unique_ptr
Докато четете за предложение за добавяне на обвивка, разпространяваща const, към стандартната библиотека (док. № N4388 ), попаднах на примера, даден в статията: #include <memory> #include <iostream> struct A { void bar() const...
593 изгледи