由于设计思路和实现手法的巨大差异,我们可以将C++分成传统C++程序及现代C++(modern C++)程序2种。从1998年C++新标准确立之后,C++走上了一条和之前完全不同的道路。到现在为止发展了近10年,涌现出了一大批优秀的类库。<o:p></o:p>
传统C++的设计思想是以面向对象思想为中心。以C Run time作为基础,运用继承,多态及宏作为主要技术手段来开发类库。典型的代表是MFC,QT,wxWidgets等。<o:p>
</o:p>
现代C++则大幅弱化了面向对象的思想,继承成了纯粹的实现上的手法,而无视其对象上的意义。强调类型安全,最小重复代码,概念的完整性及应用层代码的优雅及可读性。以C++标准库作为基础,尽量减少了对C运行时的依赖(C运行时不是类型安全的。)。主要技术手法是模版,类型推导,操作符重载。最大程度的避免使用宏。
现代C++在引入了模板后,把在传统C++中的几个语法糖变成了语言的基石。
1. typedef
typedef在传统C++中用处不大,基本上可以用#define替换。但是进入范型之后,typedef被运用到了极致,成为向模板类及模板函数传递信息的最重要手段。
2. 操作符重载
操作符重载原本只是为了使程序更易读,写法更一致而出现的语法糖。如果乱用的话,反而会引入很多问题,得不偿失。因此在很多语言中不支持操作符重载,比如JAVA。但是在范型编程中,操作符重载却成了必不可少的手段。因为我们无法给基本类型添加操作,一个算法想要同时对基本类型及类对象有效,只能让类来重载操作符。
典型的现代C++类库代表有Boost,stlSoft,SmartWin++,Crypto++等。
其中Boost是个大杂烩,包括了从基础设施到应用级机能各个层面的类库。<o:p></o:p>
<o:p></o:p>传统的C++类库大家应该已经很熟悉了。接下来计划陆续介绍一下现代C++类库。<o:p></o:p>
<o:p>向所有被填空贴所迷惑的朋友道歉,不知道怎么回事,所有的英文字符都看不见了,但是进入编辑版面后又都能正常显示。只能把所有英文又再打一遍了。
</o:p>
分享到:
- 2007-08-01 13:59
- 浏览 2127
- 评论(1)
- 论坛回复 / 浏览 (1 / 2637)
- 查看更多
相关推荐
现代C++白皮书是一本深入探讨C++编程语言及其发展历程的专业书籍,由C++之父Bjarne Stroustrup撰写。这本书详细介绍了C++从2006年至2020年的演变,旨在帮助读者理解这门语言如何在不断变化的IT环境中保持其重要性和...
《现代C++语言核心特性解析》是一本深入探讨C++编程语言最新特性的书籍,而“其他资料.zip”可能包含了该书的补充材料、代码示例或者课后习题解答等资源。虽然没有具体的标签来指示这些文件的具体内容,但我们可以...
《现代C++程序设计》是一本面向C++面向对象设计初学者的教材,它通过图文并茂、通俗易懂的方式教授C++编程技术。本书详细介绍了C++的基本概念,包括C++语言的历史、面向对象编程的优势、结构化设计与面向对象设计的...
《现代C++程序设计源代码》是Barbara Johnston编著的第二版书籍的源代码集合,这为我们深入学习和理解C++的现代编程技术提供了宝贵的实践资源。C++PT2ed这个压缩包文件包含了书中各个章节示例程序的源代码,帮助读者...
使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎....
本书号称『高速上手』,从内容上对二十一世纪二十年代...此外,笔者希望读者在阅读本书后,能够努力在新项目中直接使用现代C++,并努力将旧项目逐步迁移到现代C++。也算是笔者为推进现代C++的普及贡献了一些绵薄之力。
《现代C++程序设计》是一本专为初学者编写的指南,旨在帮助读者掌握现代C++编程语言的核心概念和技术。C++是一种强大的、多功能的编程语言,被广泛应用于游戏开发、系统软件、高性能计算以及嵌入式系统等领域。本书...
《现代C++程序设计》是一本深受欢迎的国外经典教材,专为想要深入理解C++编程语言的读者而设计。本书全面介绍了C++的核心概念、语法特性以及高级编程技巧,旨在帮助读者掌握C++的强大功能并提升编程能力。C++作为...
这本书《ROS 2机器人编程实战——基于现代C++和Python 3》旨在教授如何利用ROS 2的强大功能来构建高效、可靠的机器人应用程序。通过配套的代码,读者可以深入理解ROS 2的核心概念,并在实践中提升技能。 1. **ROS 2...
《现代C++程序设计》作为一本优质的C++入门书籍,为初学者提供了全面而深入的C++编程知识体系。本书不仅覆盖了C++语言的基础语法,还深入探讨了面向对象编程、模板、泛型编程、异常处理、多线程、智能指针等高级主题...
三、现代C++的黑魔法 C++语言无处不在,并且无处不精。这完全可以从它在游戏开发、系统工程、Web浏览器开发、嵌入式系统等的广泛应用中看出。并且,这些应用也是随着C++标准的升级而更新。到目前为止已经有越来越多...
Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip ...
现代C++并行编程主要涉及对任务式并行性的运用,这已成为所有更高级API的基础。Hartmut Kaiser在CppCon 2016上的演讲"Parallelism in Modern C++"中重点讨论了HPX,这是一个面向各种规模应用的通用并行运行时系统。 ...
微软现代C++语言参考手册英文版
现代C++异步编程是利用多线程和并发机制来提高程序执行效率的重要技术。C++11引入了丰富的并发库,使得开发者可以方便地在应用程序中实现并行计算。本示例主要涉及了以下几个核心知识点: 1. **std::thread**:这是...
现代C++程序设计(CN)-[Barbara Johnston].pdf
本书《现代C++程序设计(原书第2版)》由Barbara Johnston撰写,是一本介绍C++语言及其面向对象程序设计技术的教材。作者通过生动轻松的语言风格,深入浅出地阐述了C++语言的基本概念、面向对象技术、控制结构、函数...