auto特に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->??
}
マップのイテレータがあるのか、オブジェクトのプロパティを使用するのfirstか、secondまたは単にプロパティに直接アクセスするのかがわからない場合に、イテレータがあるかどうかがわからないようです。
これは、キーワードを使用するかどうかに関するC#の議論を思い出させますvar。私がこれまでに得ている印象は、C ++の世界autoでvarは、C#の世界よりも少ない戦いで人々がキーワードを採用する準備ができているということです。私にとって最初の本能は、変数の型を知りたいので、その変数に対して実行できる操作を知ることができるということです。
for (auto& it : x)(あなたがコピーしたい場合や、参照なし)
xわからない場合xは、そもそもループを作成しないでください
varかどうかについての戦いがあった?私は逃しました。