はじめに C++ 11 で auto キーワードが型推論機能として生まれ変わりました 7 Declarations 7.1 Specifiers 7.1.6 Type specifiers 7.1.6.4 auto specifierここでは auto の4つの使い方について簡単に説明します auto, auto&, const auto&, auto&& (auto* などともできますがここでは省きます) auto auto はコピーされても構わないときに使います 整数やポインタなどを受け取る場合はいいのですが、次のような使い方では無駄なコピーが生じてしまうので注意が必要です s は foo[n] のコピーです std::vector<std::string> foo; ... for( auto s : foo ){ ... } auto& auto& はほぼ万能型です lvalue