Passando unique_ptr para funções
Estou tentando "modernizar" algum código existent
Tenho uma classe que atualmente possui uma variável de membro "Device * device _"Utiliza new para criar uma instância em algum código de inicialização e possui um "delete device_" no destructors funções de membro desta classe chamammuitoutras funções que usam um dispositivo * como parâmetrIsso funciona bem, mas para "modernizar" meu código, pensei em mudar a variável a ser definida como"std::unique_ptr<Device> device_"
e remova a chamada explícita a ser excluída, o que torna o código mais seguro e geralmente melho
Minha pergunta é esta -
Como devo passar odispositiv_ variável para todas as funções que precisam dele como um parâmetrEu posso chamar .get para obter o ponteiro bruto em cada chamada de função. Mas isso parece feio e desperdiça alguns dos motivos para usar um unique_ptr em primeiro luga
Ou eu posso mudarcad, para que, em vez de usar um parâmetro do tipo "Device *", agora seja necessário um parâmetro do tipo "std :: unique_ptr &". O que (para mim) ofusca um pouco os protótipos de função e os torna difíceis de ler.
Qual é a melhor prática para isso? Perdi outras opções?