У меня есть объект класса A
, созданный внутри метода. Этот метод также создает экземпляр объекта B
, который принимает в качестве аргумента конструктора только что созданный объект A
. B
должен взять на себя ответственность за объект A
, но он не может его изменить. Это означает, что A
следует удалить, если B
удален, но в течение срока службы B
он не может изменить A
.std :: unique_ptr для передачи права собственности на объект const
В этом случае std::unique_ptr<const A>
как переменная-член B
является правильным способом для передачи права собственности на A
(с использованием std::move
в конструкторе B
) и гарантировать, что он не будет изменен?
Возможно, вам стоит добавить слово о 'const A * a-> ~ A();' – Walter