`
netpcc
  • 浏览: 6828 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

现代C++简介

c++ 
阅读更多

由于设计思路和实现手法的巨大差异,我们可以将C++分成传统C++程序及现代C++(modern C++)程序2种。从1998C++新标准确立之后,C++走上了一条和之前完全不同的道路。到现在为止发展了近10年,涌现出了一大批优秀的类库。<o:p></o:p>

传统C++的设计思想是以面向对象思想为中心。以C Run time作为基础,运用继承,多态及宏作为主要技术手段来开发类库。典型的代表是MFCQTwxWidgets等。<o:p>
</o:p>

现代C++则大幅弱化了面向对象的思想,继承成了纯粹的实现上的手法,而无视其对象上的意义。强调类型安全,最小重复代码,概念的完整性及应用层代码的优雅及可读性。以C++标准库作为基础,尽量减少了对C运行时的依赖(C运行时不是类型安全的。)。主要技术手法是模版,类型推导,操作符重载。最大程度的避免使用宏。

现代C++在引入了模板后,把在传统C++中的几个语法糖变成了语言的基石。

1. typedef
  typedef在传统C++中用处不大,基本上可以用#define替换。但是进入范型之后,typedef被运用到了极致,成为向模板类及模板函数传递信息的最重要手段。

2. 操作符重载
  操作符重载原本只是为了使程序更易读,写法更一致而出现的语法糖。如果乱用的话,反而会引入很多问题,得不偿失。因此在很多语言中不支持操作符重载,比如JAVA。但是在范型编程中,操作符重载却成了必不可少的手段。
因为我们无法给基本类型添加操作,一个算法想要同时对基本类型及类对象有效,只能让类来重载操作符。

典型的现代C++类库代表有BooststlSoftSmartWin++Crypto++等。
其中
Boost是个大杂烩,包括了从基础设施到应用级机能各个层面的类库。<o:p></o:p>

<o:p></o:p>传统的C++类库大家应该已经很熟悉了。接下来计划陆续介绍一下现代C++类库。<o:p></o:p>

<o:p>向所有被填空贴所迷惑的朋友道歉,不知道怎么回事,所有的英文字符都看不见了,但是进入编辑版面后又都能正常显示。只能把所有英文又再打一遍了。
</o:p>
分享到:
评论
1 楼 林杰杰 2007-08-02  
好不容易看到一个我喜欢的话题,居然还是填空题。。。。

相关推荐

    现代C++白皮书电子书

    现代C++白皮书是一本深入探讨C++编程语言及其发展历程的专业书籍,由C++之父Bjarne Stroustrup撰写。这本书详细介绍了C++从2006年至2020年的演变,旨在帮助读者理解这门语言如何在不断变化的IT环境中保持其重要性和...

    《现代C++语言核心特性解析》其他资料.zip

    《现代C++语言核心特性解析》是一本深入探讨C++编程语言最新特性的书籍,而“其他资料.zip”可能包含了该书的补充材料、代码示例或者课后习题解答等资源。虽然没有具体的标签来指示这些文件的具体内容,但我们可以...

    现代C++程序设计

    《现代C++程序设计》是一本面向C++面向对象设计初学者的教材,它通过图文并茂、通俗易懂的方式教授C++编程技术。本书详细介绍了C++的基本概念,包括C++语言的历史、面向对象编程的优势、结构化设计与面向对象设计的...

    现代C++程序设计源代码

    《现代C++程序设计源代码》是Barbara Johnston编著的第二版书籍的源代码集合,这为我们深入学习和理解C++的现代编程技术提供了宝贵的实践资源。C++PT2ed这个压缩包文件包含了书中各个章节示例程序的源代码,帮助读者...

    使用现代C++制作的玩具引擎.zip

    使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎.zip使用现代C++制作的玩具引擎....

    现代C++教程:高速上手 C++11_迁移_现代C++教程:高速上手C++11_现代c++教程_

    本书号称『高速上手』,从内容上对二十一世纪二十年代...此外,笔者希望读者在阅读本书后,能够努力在新项目中直接使用现代C++,并努力将旧项目逐步迁移到现代C++。也算是笔者为推进现代C++的普及贡献了一些绵薄之力。

    现代c++程序设计 国外经典教材

    《现代C++程序设计》是本享誉国际的教材,专门针对那些渴望深入掌握C++编程语言的读者。这本书不仅介绍了C++的基础知识,也深入探讨了面向对象编程(OOP)、模板和STL(标准模板库)的使用,还涉及了C++的高级特性和...

    《现代C++程序设计》

    《现代C++程序设计》是一本专为初学者编写的指南,旨在帮助读者掌握现代C++编程语言的核心概念和技术。C++是一种强大的、多功能的编程语言,被广泛应用于游戏开发、系统软件、高性能计算以及嵌入式系统等领域。本书...

    《ROS 2机器人编程实战——基于现代C++和Python 3》配套代码及相关内容维护.zip

    这本书《ROS 2机器人编程实战——基于现代C++和Python 3》旨在教授如何利用ROS 2的强大功能来构建高效、可靠的机器人应用程序。通过配套的代码,读者可以深入理解ROS 2的核心概念,并在实践中提升技能。 1. **ROS 2...

    现代C++程序设计.pdf

    《现代C++程序设计》作为一本优质的C++入门书籍,为初学者提供了全面而深入的C++编程知识体系。本书不仅覆盖了C++语言的基础语法,还深入探讨了面向对象编程、模板、泛型编程、异常处理、多线程、智能指针等高级主题...

    C++新特性详细解析语言核心特性解析

    三、现代C++的黑魔法 C++语言无处不在,并且无处不精。这完全可以从它在游戏开发、系统工程、Web浏览器开发、嵌入式系统等的广泛应用中看出。并且,这些应用也是随着C++标准的升级而更新。到目前为止已经有越来越多...

    Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip

    Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip Dlib 是一个现代C++工具包,包含机器学习算法和工具源码(用于使用C++创建复杂的软件来解决现实问题).zip ...

    Parallelism in Modern C++(现代C++并行编程)

    现代C++并行编程主要涉及对任务式并行性的运用,这已成为所有更高级API的基础。Hartmut Kaiser在CppCon 2016上的演讲"Parallelism in Modern C++"中重点讨论了HPX,这是一个面向各种规模应用的通用并行运行时系统。 ...

    微软现代C++.pdf

    微软现代C++语言参考手册英文版

    《C++11新特性解析与应用》完整版pdf

    相比于 C++98 带来的面向对象的革命性,C++11 带来的 XIII  却并非“翻天覆地”式的改变。很多时候,程序员保持着“C++98 式”的观点来看待 C++11 代码也同样是合理的。因为在编程思想上,C++11 依然遵从了一贯的...

    现代C++异步编程示例

    现代C++异步编程是利用多线程和并发机制来提高程序执行效率的重要技术。C++11引入了丰富的并发库,使得开发者可以方便地在应用程序中实现并行计算。本示例主要涉及了以下几个核心知识点: 1. **std::thread**:这是...

    现代C++程序设计(CN)-[Barbara Johnston].pdf

    现代C++程序设计(CN)-[Barbara Johnston].pdf

    【全新正版】现代C++程序设计(原书第2版)

    本书《现代C++程序设计(原书第2版)》由Barbara Johnston撰写,是一本介绍C++语言及其面向对象程序设计技术的教材。作者通过生动轻松的语言风格,深入浅出地阐述了C++语言的基本概念、面向对象技术、控制结构、函数...

Global site tag (gtag.js) - Google Analytics