现代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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值