前言
现在的C++仿佛进化成了一种新的语言。与C++98相比,C++11更易于我们清晰、简洁、直观地表达思想。而且编译器可以更好地检查程序中的错误,程序的运行速度也提高了。
就像其他任何一种现代编程语言一样,C++的规模庞大且提供的库异常丰富,值得程序员认真学习以便高效地利用。这本小册子的目的是让有经验的程序员快速了解现代C++语言,因此它几乎介绍了C++的全部核心功能和重要的标准库组件。读者花费几个小时就能读完本书,但是想必所有人都清楚,要想写出漂亮的C++程序绝非一日之功。好在本书的目的并非让读者熟练掌握一切,而只是介绍语言的概貌,给出一些经典的例子,然后帮助读者开始自己的C++之旅。如果读者希望深入了解C++语言,请阅读我的另一本著作《The C++ Programming Language,Fourth Edition》(简称TC++PL4)。实际上,本书正是TC++PL4第2~5章的扩充版,只不过出于完整性和独立性的考虑我们稍微增加了一些内容。本书的篇章结构与TC++PL4保持一致,读者如果对细节感兴趣,可以在TC++PL4中进一步寻找答案。同样,在我的个人主页(www.stroustrup.com)上为TC++PL4编写的习题也可以用于本书。
我们假设读者已经拥有了一些编程经验。如果没有,建议你先找一本入门教材学习一下,比如《Programming:Principles and Practice Using C++》[Stroustrup,2009]。即便你曾经编写过程序,所使用的语言或者编写的应用也可能在风格或形式上与本书相距甚远。
我们用城市观光的例子来比喻本书的作用,比方说参观哥本哈根或者纽约。在短短几个小时之内,你可能会匆匆游览几个主要的景点,听到一些有趣的传说或故事,然后被告知接下来应该参观哪里。仅靠这样一段旅程,你无法真正了解这座城市,对听到和看到的东西也是一知半解,更别提熟悉这座城市的生存法则。毕竟要想认识并融入一座城市,需要在其中生活很多年。不过幸运的是,此时你已经对城市的总体情况有了一些了解,知道了它的某些特殊之处,并且对有的方面产生了兴趣。接下来,你有机会开始真正的探索之旅了。
目录
[第1章 基础知识
1.1 引言 ](https://yq.aliyun.com/articles/119258)
1.2 程序
1.3 Hello,World!
1.4 函数
1.5 类型、变量和算术运算
1.6 作用域和生命周期
1.7 常量
1.8 指针、数组和引用
1.9 检验
1.10 建议
[第2章 用户自定义类型
2.1 引言 ](https://yq.aliyun.com/articles/119329)
2.2 结构
2.3 类
2.4 联合
2.5 枚举
2.6 建议
[第3章 模块化
3.1 引言 ](https://yq.aliyun.com/articles/119345)
3.2 分离编译
3.3 命名空间
3.4 错误处理
3.5 建议