Quali sono i pro / contro nell'usare la parola chiave auto
, specialmente nei cicli for?
for(std::vector<T>::iterator it = x.begin(); it != x.end(); it++ )
{
it->something();
}
for(std::map<T>::iterator it = x.begin(); it != x.end(); it++ )
{
it->second->something();
}
for(auto it = x.begin(); it != x.end(); it++ )
{
it->??
}
Sembra che se non sai se hai un iteratore per una mappa o un vettore non sapresti se usare first
o second
o semplicemente accedere direttamente alle proprietà dell'oggetto, no?
Questo mi ricorda il dibattito in C # sull'opportunità di utilizzare la parola chiave var
. L'impressione che sto ottenendo è che nel mondo C ++ le persone sono pronte ad adottare la parola chiave auto
con meno di una lotta rispetto a var
nel mondo C #. Per me il mio primo istinto è che mi piace conoscere il tipo di variabile in modo da sapere quali operazioni posso aspettarmi di eseguire su di essa.