21天学通C++
本书从最基本的 C++知识开始介绍,读者只需具备学习 C++的愿望及了解工作原理的好奇心即可;虽然具备一些C++知识会有所帮助,但这并非必需的。本书也可供熟悉C++但想了解C++11新增功能的读者参考;如果你是专业程序员,第 3 部分“学习标准模板库”可以帮助你创建更优质、更实用的C++应用程序。
本书内容
读者可根据自己对C++的熟练程度,阅读感兴趣的部分。本书包含5部分。
• 第1部分“基本知识”,引导读者编写一些简单的C++应用程序,并介绍一些在C++的未妥协类型安全变量的代码中最常见的关键字。
• 第 2 部分“C++面向对象编程基础”,介绍类的概念,您将学习 C++如何支持封装、抽象、继承和多态等重要的面向对象编程原则。第9章将介绍C++11新增的移动构造函数,而第12章将介绍移动赋值运算符。这些功能有助于避免不必要的复制步骤,从而提升应用程序的性能。第14章是一个跳板,助您编写功能强大的C++通用代码。
• 第 3部分“学习标准模板库”,将帮助您使用STL string类和容器编写高效而实用的C++代码。您将了解到,使用 std::string 可安全而轻松地拼接字符串,您不再需要使用 C 风格字符串(char*)。您可使用STL动态数组和链表,而无需自己编写这样的类。
• 第 4 部分“再谈 STL”,专注于算法,您将学习如何通过迭代器对 vector 等容器进行排序。在这部分,您将发现,通过使用C++11新增的关键字auto,可极大地简化冗长的迭代器声明。第 22 章将介绍 C++11 新增的 lambda 表达式,这可极大地简化使用 STL 算法的代码。
• 第5部分“高级C++概念”,阐述智能指针和异常处理等C++功能。对C++应用程序来说,这些功能并非必需的,但可极大地提高应用程序的稳定性和品质。在这部分的最后,简要地介绍了有助于编写杰出C++应用程序的最佳实践。