Joh*_*hny 12 c++ ide editor auto c++11
在"几乎总是自动"一文中,Herb Sutter列出了使用auto关键字声明变量的几个原因.
他说实际变量类型可以由IDE自动推导出来,并通过将鼠标悬停在变量名称上来显示.
我想知道哪些IDE和文本编辑器(或插件)目前支持"自动"变量类型演绎.
编辑:
来自答案的IDE列表:
文字编辑
那么Vim,Emacs,Sublime Text等等 - 有插件支持类型演绎吗?
Visual Studio 2010,Visual Studio 2012和Visual Studio 2013支持使用auto关键字声明的变量的类型推导.这适用于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
鉴于我很高兴不同意Herb Sutter的评估,即IDE足以在您需要时推断出类型.auto在稳健性,正确性和灵活性方面非常出色,但肯定无法满足开发人员在大型代码库上工作的需求.