《Effective C++》精读总结 — 1.视C++为一个语言联邦

第一个条款是一个很好的对C++总体认识的说明,我们接触C++的时候往往只是在其中一个领域深耕,而忽略了C++是一个综合的语言体系

C++ 包含4层语言体系,C,object-oriented,template,STL。在每一层单独的语言体系中,各种适用的规则比较明确并且有自己的特点:

  • C:区块,语句,预处理器,内置数据类型,数组,指针
  • object-oriented:类,封装,继承,多态
  • template:泛型编程
  • STL:容器,迭代器,算法以及函数对象紧密配合与协调

但如果切换了语言体系,高效的规则就会发生改变,比如:

C中进行值传递效率会更高(往往是内置的数据类型),而object-oriented和template中因为涉及到自定义的构造和析构,通常通过引用+const的方式进行传递效率会更高。而到了STL中,迭代器和函数对象都是在C指针上塑造出来的,所以值传递又再次变得更加适用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值