Effective C++## 条款01:视C++为一个语言联邦 ##

发布时间:2019-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Effective C++## 条款01:视C++为一个语言联邦 ##脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

开始,C++只是加上一些面向对象特性的C,但是随着语言的成熟,它变得更加灵活多变,如Template、STL、异常。
今天C++已经是一个多重范型编程语言,同时支持过程形式、面向对象形式、函数形式、泛型形式、元编程形式。这些能力和弹性使C++变得强大。但我们该如何理解呢?
简单的方法是将C++视为一个由相关语言组成的联邦而非单一语言。在某一个次语言中,守则变得简单。在C++中,主要的次语言有4个:

  • C
    说到底C++是以C为基础的,数组、内置数据类型、指针都是来自于C的。
  • Object-Oriented C++
    这一部分也就是C wITh Classes所诉求的,classes、封装、继承、多态······体现了面向对象的特性。
  • Template C++
    这是C++的泛型编程部分。良好的编程守则中“唯template适用”的条款并不罕见,实际上template威力强大,他们带来崭新的编程范型,也就是所谓的templatemetaPRogramming(tmp,模板元编程)。
  • STL
    它对容器、迭代器、算法以及函数对象的规约有极佳的紧密配合与协调。

C++并不是一个带有一组守则的一体语言:它是由四个次语言组成的联邦政府。C++高效编程守则视状况而变化,取决于你使用那一部分。
由于有这4种不同的风格,所以当你对内置数据类型操作时,通过值传递比通过引用传递更高效;但当你使用的是自定义的对象时,由于构造函数和析构函数的存在,传递const引用更好。但当你使用STL库时,由于STL是通过指针实现的,所以传递值一般更好。

脚本宝典总结

以上是脚本宝典为你收集整理的Effective C++## 条款01:视C++为一个语言联邦 ##全部内容,希望文章能够帮你解决Effective C++## 条款01:视C++为一个语言联邦 ##所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。