C++11初探:前言

这几天突然心血来潮,看了看C++11的“新”特性。虽然C++11早就出了,但是一直没有关注。我已经很久没用C++了,Python(以及Java,Ruby)几乎包办了我日常所有的编程任务。但是没想到一发不可收,C++这样一门历史悠久的语言在今天还能做出如此革新,实在可敬可佩。新加入的特性完全颠覆了我对C++的认识,就像是见到了一门熟悉的新语言,感觉很奇妙。网上大都批评C++更加复杂了。但加入的特性在其他语言基本上能找到影子,如果使用过Python、Ruby这样的脚本语言,这些新特性的引入是很自然地一件事。抱怨C++更加复杂的同学,我很怀疑有没有真正严肃地使用过C++,亲自试一试这些特性。大部分的功能,只需要半天就能应用于实际开发,对学习成本没大的影响。我感觉现在对C++有些过于妖魔化了,C++过于复杂的印象已经建立,不论语言设计者做什么努力,喷子总能找到喷的理由,为黑而黑。。。

这次标准的更新,总的感觉是,

  • 向脚本语言靠拢。用元编程实现类型推导、匿名函数,静态模拟动态。语法糖很甜~
  • 标准库增强。正则表达式、哈希表、线程库的加入,补足缺失的功能,更像一门现代语言。

编译器选择

C++实在是对编译器实现的挑战,现在完全支持C++11的编译器好像只有gcc 4.8.1和clang 3.3,都是2013年刚发布的。做下广告,LLVM/Clang近几年步调很快,与XCode结合实乃神器,我已经用它取代gcc作为主力编译器了,大家可以试一试。Visual Studio系列暂时还只能洗洗睡~ 编译器支持情况请看:

C++0xCompilerSupport

注意编译时要加上 -std=c++11 开启C++11支持。

参考书籍

C++11出来这么久,很多经典书也更新了。

C++ Programming Language, 4th Edition C++程序设计语言第4版,C++之父写的,老手值得一看,新人还是先等等。

C++ Primer, 5th Edition 入门好书。

C++ Standard Library, 2nd Edition C++标准库:自学教程与参考手册第2版,大砖头终于更新了,很感动。适合随手翻,经常会发现一些标准库里平时不注意又有用的东西。

目录

C++11初探:类型推导,auto和decltype

C++11初探:lambda表达式和闭包

原文地址:https://www.cnblogs.com/npbool/p/3433283.html