主题:聊聊VS2010 Beta2对于C++的支持
自从VS6以后,VS各个版本中的C++只是对C++进行一些细小的改善。作为一个彻头彻尾的Visual C++程序员心里很憋屈:做Visual C++到底有没有前途?微软还要不要Visual C++?
不过,还好微软最新公开下载的VS 2010 Beta 2中对于C++开发支持方面有了很多巨大的变化。
毕竟,作为曾经的经典,在这个美丽的世界上还有无数的C++代码在稳定地运行着,这些代码还需要维护,需要升级。更重要的是某些领域C++还是不可替代的,想必这也是微软在最新版本VS上对C++增强支持力度的原因吧。
来,看看VS2010中C++有哪些重大变化呢?
首先,VS2010对C++进行全面支持,尤其是在IDE方面C++的构建系统VCBuild整合到了MSBuild中,而借助后台编译使得IntelliSense更加智能,能够处理更多的文件,更加复杂的项目。另外在MFC开始全面支持Vista、Windows 7风格的UI。这些特性都是很明显的变化。
其次,在VS2010中添加了对C++ Lambda表达式的支持。Lambda表达式使用非常简单的语法就可以实现同样的功能,降低了Lambda表达式的学习难度,避免了使用复杂的函数对象或是函数指针所带来的错误。
还有,VS2010 C++加入了对静态断言的支持,引入了新的关键字static_assert来表示静态断言。在编译的时候,模板函数实例化,可以使用静态断言去测试模板函数的参数是否按照设计拥有合适的值。
再有,VS2010 C++中对auto关键字的意义发生了改变。auto关键字将用于指引编译器根据变量的初始值来决定变量的数据类型。换句话说,可以把auto当成一种新的数据类型,它可以“从初始化器(initialize)中推导出所代表的变量的真正类型”。这种对auto关键字的使用方式可以大大消除当前替代方式所导致的冗长和易出错的代码。
最后,作为最重要的一项语言特性,VS2010 C++右值引用(rvalue references)被引入到 C++0x中。
不过,还好微软最新公开下载的VS 2010 Beta 2中对于C++开发支持方面有了很多巨大的变化。
毕竟,作为曾经的经典,在这个美丽的世界上还有无数的C++代码在稳定地运行着,这些代码还需要维护,需要升级。更重要的是某些领域C++还是不可替代的,想必这也是微软在最新版本VS上对C++增强支持力度的原因吧。
来,看看VS2010中C++有哪些重大变化呢?
首先,VS2010对C++进行全面支持,尤其是在IDE方面C++的构建系统VCBuild整合到了MSBuild中,而借助后台编译使得IntelliSense更加智能,能够处理更多的文件,更加复杂的项目。另外在MFC开始全面支持Vista、Windows 7风格的UI。这些特性都是很明显的变化。
其次,在VS2010中添加了对C++ Lambda表达式的支持。Lambda表达式使用非常简单的语法就可以实现同样的功能,降低了Lambda表达式的学习难度,避免了使用复杂的函数对象或是函数指针所带来的错误。
还有,VS2010 C++加入了对静态断言的支持,引入了新的关键字static_assert来表示静态断言。在编译的时候,模板函数实例化,可以使用静态断言去测试模板函数的参数是否按照设计拥有合适的值。
再有,VS2010 C++中对auto关键字的意义发生了改变。auto关键字将用于指引编译器根据变量的初始值来决定变量的数据类型。换句话说,可以把auto当成一种新的数据类型,它可以“从初始化器(initialize)中推导出所代表的变量的真正类型”。这种对auto关键字的使用方式可以大大消除当前替代方式所导致的冗长和易出错的代码。
最后,作为最重要的一项语言特性,VS2010 C++右值引用(rvalue references)被引入到 C++0x中。