第18章探讨C++新标准,接下来的任务,总结

第18章探讨C++新标准,接下来的任务,总结

第18章探讨C++新标准,接下来的任务,总结


18.9 接下来的任务

如果仔细阅读了本书,则应很好地掌握了C++的规则。然而,这仅仅是学习这种语言的开始,接下来需要学习如何高效地使用该语言,这样的路更长。最好的情况是,工作或学习环境让您能够接触优秀的 C++代码和程序员。另外,了解C++后,便可以阅读一些介绍高级主题和面向对象编程的书籍,附录H列出了-些这样的资源。
OOP有助于开发大型项目,并提高其可靠性。OOP方法的基本活动之一是发明能够表示正在模拟的情形(被称为问题域(problemdomain))的类。由于实际问题通常很复杂,因此找到适当的类富有挑战性。创建复杂的系统时,从空白开始通常不可行,最好采用逐步迭代的方式。为此,该领域的实践者开发了多种技术和策略。具体地说,重要的是在分析和设计阶段完成尽可能多的迭代工作,而不要不断地修改实际代码。常用的技术有两种:用例分析(use-caseanalysis)和CRC卡(CRCcard)。在用例分析中,开发小组列出了常见的使用方式或最终系统将用于的场景;找出元素、操作和职责,以确定可能要使用的类和类特性。CRC(Class/Responsibilities/Collaborators 的简称)卡片是一种分析场景的简单方法。开发小组为每个类创建索引卡片,卡片上列出了类名、类责任(如表示的数据和执行的操作)以及类的协作者(如必须与之交互的其他类)。然后,小组使用CRC卡片提供的接口模拟场景。这可能提出新的类、转换责任等。在更大的规模上,是用于整个项目的系统方法。在这方面,最新的工具是统一建模语言(UnifiedModeling Language,UML),它不是一种编程语言,而是一种用于表示编程项目的分析和设计语言,是由Grady Booch、Jim Rumbaugh 和Ivar Jacobson 开发的,他们分别是更早的3种建模语言(Booch Method、OMT(对象建模技术,Obiect ModelingTechnique)和OOSE(面向对象的软件工程,Obiect-Oriented SofwareEngineering))的主要开发人员。UML是从这3种语言演化而来的,于2005年被ISO/EC 批准为标准。除加深对 C++的总体理解外,还可能需要学习特定的类库。例如,Microsoft和Embarcadero 提供了大量简化 Windows编程的类库,而 Apple Xcode 提供了简化 Apple 平台(如 iPhone)编程的类库。

18.10 总结

C++新标准新增了大量功能。有些旨在让C++更容易学习和使用,这包括用大括号括起的统一的列表初始化、使用 auto 自动推断类型、类内成员初始化以及基于范围的 fr 循环;而有些旨在增强类设计以及使其更容易理解,这包括默认的和禁用的方法、委托构造函数、继承构造函数以及让虚函数设计更清晰的说明符 override 和 final。有几项改进旨在提供程序和编程效率。lambda表达式比函数指针和函数符更好,模板function 可用于减少模板实例数量,右值引用让您能够使用移动语义以及实现移动构造函数和移动赋值运算符。其他改进提供了更佳的工作方式。作用域内枚举让您能够更好地控制枚举的作用域和底层类型:模板unique ptr和shared ptr让您能够更好地处理使用 new 分配的内存。新增的 decltype、返回类型后置、模板别名和可变参数模板让模板设计得到了改进。修改后的共用体和 POD规则、alignof()运算符、alignas说明符以及 constexpr 机制支持低级编程。新增了多个库(包括新的STL类、tuple 模板和 regex库)为众多常见的编程问题提供了解决方案为支持并行编程,新标准还添加了关键字thread local 和 atomic 库。总之,无论对新手还是专家来说,新标准都改善了C++的可用性和可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值