Я не понимаю, как использовать авто в функции, которую я просматриваю. Учитывая параметр определяется как:делает автоматически вывод, что тип является указателем?
someFunction(const unique_ptr<BSTNode<int>>& node, paramType param) {
тело функции устанавливает локальную переменную так:
auto *localNode = node.get();
Мое понимание авто является то, что он выводит тип, что присваивается к нему во время компиляции. Документы утверждают, что unique_ptr::get()
возвращает указатель на объект, которым он управляет. Учитывая этот факт, почему необходимо добавить *
в объявление переменной?
, но если auto уже выводит тип указателю, чем добавляет дополнительный * не результат типа **? –
@ user5797668 Нет, 'auto' не означает« тип инициализатора »; это означает примерно «любой тип, который необходим для того, чтобы тип всей вещи соответствовал типу инициализатора». –