Sto usando la nuova auto
parola chiave disponibile nello standard C ++ 11 per i tipi complicati di modelli, che è ciò per cui credo sia stato progettato. Ma lo sto usando anche per cose come:
auto foo = std::make_shared<Foo>();
E più scettico per:
auto foo = bla(); // where bla() return a shared_ptr<Foo>
Non ho visto molte discussioni su questo argomento. Sembra che auto
potrebbe essere abusato, dal momento che un tipo è spesso una forma di documentazione e controlli di integrità. Dove si disegna la linea nell'uso auto
e quali sono i casi d'uso consigliati per questa nuova funzionalità?
Per chiarire: non sto chiedendo un'opinione filosofica; Sto chiedendo l'uso previsto di questa parola chiave da parte del comitato standard, possibilmente con commenti su come quell'uso previsto viene realizzato nella pratica.
Nota a margine: questa domanda è stata spostata in SE.Programmers e quindi di nuovo in Stack Overflow. La discussione su questo può essere trovata in questa meta domanda .
auto
parola chiave, allora sai come dovrebbe essere usata. Questo è quello che sto chiedendo, come qualcuno che è nuovo di questa funzione, è come dovrei usarlo?
var
(ovvero, una volta che la gente ha avuto l'idea che dopo tutto non si trattava di una digitazione dinamica). Se lo desideri, puoi iniziare con questa domanda e passare attraverso le domande correlate.
auto foo = bla();
"cattivo" è chiaramente un parere, non un fatto, che rende questa domanda e rispondere ad una discussione, che lo rende rilevante per programmatori SE, che è esattamente ciò che gli stretti voti indicano. / scrollata di spalle