C++11 的新特性 对C++技术格局的影响
FAQ
Language
PreprocessorKeywordsHeadersOperator precedenceEscape sequencesASCII chartFundamental typesUtilities library
Type support (basic types, RTTI, type traits)Dynamic memory managementError handlingProgram utilitiesDate and timebitsetFunction objectspairtuple basic_stringNULL-terminated byte stringsNULL-terminated multibyte stringsNULL-terminated wide stringsContainers library
array Common mathematical functionsComplex numbersPseudo-random number generationInput/output library
basic_streambufbasic_filebufbasic_stringbufios_basebasic_iosbasic_istreambasic_ostreambasic_iostreambasic_ifstreambasic_ofstreambasic_fstreambasic_istringstreambasic_ostringstreambasic_stringstreamI/O manipulatorsC-style I/OLocalizations library
Regular expression library 以上标有“since C++11”字样的是已经到来的新特性。目前支持较好的是:windows平台: VS2010SP1以上版本linux平台: GCC4.7以上版本android以及arm平台: 交叉编译的gcc4.7以上版本mac os x平台: GCC4.7 ios平台: 或可用交叉编译的GCC4.7 我比较关心的主要有:1、容器里的unordered系列容器,里边有hash map等实现,不必再使用boost、stlport等库实现。2、正则表达式regular express,不必使用boost等库。3、原子操作库atomic operations,不必再使用其他的各种CAS CAS2 DCAS代码,最小代价拥有最高的并发效率。4、线程支持库thread support,不必再纠结windows平台,到底使用_beginthread_还是CreateThread,linux平台的pthread。而且语言级支持跨平台。 就像html5一样,解决flash和native app的封闭,最终迎来在语言级跨平台代码的统一。然而,具体情况要具体分析,盲目的套用新技术可能会带来新的问题。其中最需依赖就是编译器的支持。