初探c++11之介绍篇
c++11,就是之前的c++0x,已经成为了最新的c++标准。像咱这样天天用c++的,就赶紧follow一下。学习成果,放在这里,不说分享,至少自己增强下记忆。
首先,给出一些有用的链接。
http://zh.wikipedia.org/wiki/C%2B%2B11 , wiki中文,不过看起来是台湾人翻译的,有的地方读起来不是很习惯。
http://en.wikipedia.org/wiki/C%2B%2B11 , wiki英文,内容和中文版的不完全相同,有一些这里有而中文版没有
http://space.itpub.net/17237043/viewspace-688609, 陈良桥翻译的c++11 FAQ
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372, C++11标准购买地址
其次,这里从中摘出一些初次接触c++比较感兴趣的内容,陈列如下
- C++11于2011年9月正式发布为ISO/IEC 14882:2011
- C++11做了什么?添加了新的核心语言特性,扩展了标准库
- C++11和旧版C++ 兼容吗?据说几乎100%兼容 (这个几乎……我也很汗……)
- C++11能够为我们带来什么好处?是程序效率更高了,抽象性、灵活性更好了,还是写程序更快了?好吧,这个问题目前我也不知道答案。等到有答案时候再更新到这里……
- 目前主流编译器对于c++11的支持情况怎么样?
- 简而言之,目前对于c++11支持最全面的是gcc,几乎全部支持,而visual studio 2010/2011(VC10/VC11)则只是部分支持。visual studio 2008则只支持了很少的几个特性。
- 参见http://imcc.blogbus.com/logs/107118019.html
- 对于visual studio 2010的支持情况,可以在这里找到,http://msdn.microsoft.com/en-us/library/dd465215.aspx。摘录其中和语言特性有关的内容有:
auto Keyword,decltype Type Specifier,Lambda Expressions,Rvalue Reference,static_assert Declaration,nullptr and __nullptr Keywords
对于visual studio 2011的支持情况,可以在这里找到,http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx。其中有表格罗列了vs2010和vs2011对于c++11的支持情况,摘来如下 -
C++11 Core Language Features: Concurrency VC10 VC11 Reworded sequence points N/A N/A Atomics No Yes Strong compare and exchange No Yes Bidirectional fences No Yes Memory model N/A N/A Data-dependency ordering No Yes Data-dependency ordering: function annotation No No exception_ptr Yes Yes quick_exit and at_quick_exit No No Atomics in signal handlers No No Thread-local storage Partial Partial Magic statics No No C++11 Core Language Features: C99 VC10 VC11 __func__ Partial Partial C99 preprocessor Partial Partial long long Yes Yes Extended integer types N/A N/A