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âmetr

Isso 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âmetr

Eu 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?

questionAnswers(10)

yourAnswerToTheQuestion