Quanto é demais com a palavra-chave automática C ++ 11?
Eu tenho usado o novoauto
palavra-chave @ está 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 tenho visto muita discussão sobre esse tópico. Parece queauto
pode ser usado em excesso, pois um tipo geralmente é uma forma de documentação e verificações de sanidade. Onde você desenha a linha usandoauto
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átic
Nota lateral: Esta pergunta foi movida para SE.Programmers e depois de volta para Stack Overflow. Discussões sobre isso podem ser encontradas nestemeta question.