Я пытаюсь «модернизировать» некоторый существующий код.
Это работает хорошо, но для «модернизации» моего кода я подумал, что должен изменить переменную, чтобы она определялась как «std::unique_ptr
и удалить явный вызов удаления, что делает код безопаснее и в целом лучше.
Мой вопрос заключается в следующем:
Я могу вызвать .get для получения необработанного указателя при каждом вызове функции. Но это кажется уродливым и теряет некоторые причины использовать unique_ptr в первую очередь.
Или Я могу изменить каждую функцию так, чтобы вместо параметра типа "Device*" она теперь принимала параметр типа "std::unique_ptr&". Что (для меня) несколько запутывает прототипы функций и затрудняет их чтение.
Как лучше всего это сделать? Я пропустил какие-либо другие варианты?