auto
Visual Studio 2010、Visual Studio 2012、および Visual Studio 2013 は、キーワードで宣言された変数の型推定をサポートしています。これは、IntelliSense のツールヒントとオートコンプリートの提案の両方に適用されます。
Visual Studio 2010 以降、C++ IntelliSense サポートは完全に作り直されました (「Intellisense の再構築」を参照)。IntelliSense は、Edison Design Group (EDG) C++ コンパイラ フロントエンドによって駆動されるようになりました。EDG が実行できることはすべて、IntelliSense に反映されます。
IntelliSense のツールヒントには、auto
変数の基になる型が表示されることに注意してください。ツリーを再び処理して、部分を適切な typedef に置き換えることはありません。Visual Studio 2012 では、次のコード
std::string str;
std::string::iterator i1 = str.begin();
auto i2 = str.begin();
イテレータを次のように表示します
std::basic_string<char,std::char_traits<char>,std::allocator<char> >::iterator i1
と
std::_String_iterator<std::_String_val<std::_String_base_types<char,std::allocator<char> >::_Val_types>::_Myt> i2
IDE は、必要なときに型を推測するのに十分であるという Herb Sutter の評価に、私は喜んで同意しません。auto
堅牢性、正確性、および柔軟性の点では優れていますが、大規模なコード ベースで作業する開発者のニーズを確実に満たすことはできません。