Eu tenho usado a nova auto
palavra-chave disponível no padrão C ++ 11 para tipos de modelos complicados, e é para isso que acredito que foi projetada. Mas também estou usando para coisas como:
auto foo = std::make_shared<Foo>();
E mais ceticamente para:
auto foo = bla(); // where bla() return a shared_ptr<Foo>
Não vi muita discussão sobre esse tópico. Parece que auto
poderia ser usado em excesso, uma vez que um tipo geralmente é uma forma de documentação e verificações de sanidade. Onde você desenha a linha de uso auto
e quais são os casos de uso recomendados para esse novo recurso?
Para esclarecer: não estou pedindo uma opinião filosófica; Estou solicitando o uso pretendido dessa palavra-chave pelo comitê padrão, possivelmente com comentários sobre como esse uso pretendido é realizado na prática.
Nota lateral: Esta pergunta foi movida para SE.Programmers e depois de volta para Stack Overflow. Discussões sobre isso podem ser encontradas nesta meta questão .
auto
palavra - chave, sabe como ela deve ser usada. É isso que estou perguntando, como alguém que é novo nesse recurso, é como devo usá-lo?
var
(ou seja, depois que as pessoas pensavam que não era uma digitação dinâmica, afinal). Se você quiser, pode começar com esta pergunta e fazer as perguntas relacionadas.
auto foo = bla();
"ruim" é claramente uma opinião, não um fato, que faz essa pergunta e responde a uma discussão, o que a torna relevante para os Programadores SE, que é exatamente o que indicam os votos próximos. / shrug