170 похожих чатов

При выходе из области видимости unique_ptr вызывает деструктор хранимого объекта?

24 ответов

6 просмотров

да

вызывается деструктор самого unique_ptr, который вызовет deleter, да

Ffff-Ffff Автор вопроса
Ilya Zviagin
да

а make_unique только вызывает конструктор объекта?

Ffff Ffff
а make_unique только вызывает конструктор объекта?

Ну не только, он же ещё динамически объект создаёт , выделяет память, а затем создаёт в этой памяти объект, вызывая конструктор

Ffff-Ffff Автор вопроса
Ilya Zviagin
Ну не только, он же ещё динамически объект создаёт...

auto unq = std::make_unique<SomeClass>(/* ctor args */); вот типовой пример использования с обычным классом, а как быть если я хочу использовать unique_ptr с классом-фабрикой других классов?

Ffff Ffff
auto unq = std::make_unique<SomeClass>(/* ctor arg...

Интерфейс у фабрики какой ?

Ffff Ffff
auto unq = std::make_unique<SomeClass>(/* ctor arg...

для начала, можно не использовать std::make_unique

Ffff-Ffff Автор вопроса
Ffff Ffff
пока не сделал)

Так делай тогда фабрику так, чтобы она уже возвращала unique_ptr или shared_ptr

Ilya Zviagin
Интерфейс у фабрики какой ?

а если бы фабрика давал объект по значению?

Ffff-Ffff Автор вопроса
Ilya Zviagin
Так делай тогда фабрику так, чтобы она уже возвращ...

а разницу возвращаемых объектов делать с помощью перегрузок?

Ffff-Ffff Автор вопроса
Ilya Zviagin
Так делай тогда фабрику так, чтобы она уже возвращ...

class PreprocessingFactory { public: PreprocessingFactory(); std::unique_ptr<SomeClass1> buildPreprocessing(int ); std::unique_ptr<SomeClass2> buildPreprocessing(cv::Mat); private: };

Ffff-Ffff Автор вопроса
Ilya Zviagin
Не понял.

имел ввиду сам метод создания объектов перегрузить несколько раз, сделал пример в коде

Ffff Ffff
class PreprocessingFactory { public: Preprocessing...

Пример странный, почему одинаковые методы ? buildPreprocessing - две штуки , почему ? Обычно методы называются по имени производимого продукта. buildProduct1, buildProduct2, buildHouse, buildCar и так далее. Тут я мысль не понял.

Ffff-Ffff Автор вопроса
Ilya Zviagin
Пример странный, почему одинаковые методы ? buildP...

методы одинаковые потому что в зависимости от железа будет использоваться один либо другой класс препроцессинга, при препроцессинге на cpu будет использоваться opencv а при препроцессинге на gpu будет использоваться npp, и я решил что бы не иметь зоопарк разных классов в разных местах лучше попробовать сделать фабрику с одним интерфейсом

Ffff Ffff
методы одинаковые потому что в зависимости от желе...

Так это должен быть один метод, а не два.

Ffff-Ffff Автор вопроса
Ilya Zviagin
Так это должен быть один метод, а не два.

перегрузки использовать плохо?

Ffff Ffff
перегрузки использовать плохо?

Нет, просто ты же фабрику пишешь, тут это против её логики

Ffff-Ffff Автор вопроса
Ilya Zviagin
Нет, просто ты же фабрику пишешь, тут это против е...

например я буду вызывать метод билдера объекта с разными аргументами в зависимости от железа, и он будет возвращать unique_ptr на разные объекты

Ffff-Ffff Автор вопроса
Ilya Zviagin
Нет, просто ты же фабрику пишешь, тут это против е...

каждый метод фабрики должен по задумке возвращать только объект одного класса?

Похожие вопросы

Обсуждают сегодня

Друзья, за кем?
Magic
12
А шо, ты этой библиотекой пользуешься?
Darkanronpa Dark Hole
10
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Всем привет. Кто-то может подсказать, как можно перевести значения Selection поля, если список значений в нем формируется динамически? Я изначально их получаю из selection дру...
Наталья Селезнева
6
Или даже по-другому вопрос выстрою Есть ли вообще в electron'e для винды, возможность кнопки действий в нотификацию впихнуть ?
Андрей
7
Hello friends, I have a question. I have a site written in HTML. This site has been ranking high on Google for about 10 years. I will change the hosting of the site and I will...
Ens
4
приветы , подскажите что я не так сделал , почему у меня скрипт не работает в программе Revit ? ;Autohotkey_RU IfWinActive ("ahk_exe Revit.exe") ; только в открытом Revit Gu...
Anton Terentev
2
> комьюнити я бы не судил по этому чату. Как мы видели по статам просмотров нескольких телеговских постов, то в чате их набивается 30-40 или даже выше, когда как общаются акти...
Constantin F.
4
Карта сайта