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系列暂时还只能洗洗睡~ 编译器支持情况请看:
注意编译时要加上 -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版,大砖头终于更新了,很感动。适合随手翻,经常会发现一些标准库里平时不注意又有用的东西。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步