01.C+的4个次语言

前言

C++很庞杂?不知道怎么学?

是因为我们不懂得分模块分步骤!

作者将C++划分为4个次语言:

有了这个划分,再回过头去看一看《C++ Primer》的目录,发现这本大部头也没有那么可怕了。

这4个次语言分别包含哪些东西?

最初,c++只是c加上了一些面向对象的东西。因此它最早的名字是。

如今,C++已经得到了极大的扩充,它有4个主要的次语言

1. C

C++是以C为基础的。区块、语句、预处理器、内置数据类型、数组、指针等都来自C。

2. Object-Orienten C++

即。构造函数、析构函数、封装、继承、多态、virtual函数等等

3. Template C++

泛型编程部分

4. STL

STL是个template程序库。容器、迭代器、算法以及函数对象等等。

重视这个划分

这个划分不单单能帮助我们细分C++,从而在学习时更加从容。它还有更深层次的意义。

C++的高效编程守则视情况而变化,取决于你使用C++的哪个部分。

比如:

对于内置类型而言,和谁更高效?为什么?

对于自定义类型的对象,和谁更高效?为什么?

对于STL的迭代器和函数对象,和谁更高效?为什么?

C++的高效编程守则视情况而变化,取决于你使用C++的哪个部分。

通常我们认为会更高效,但是当面对不同的次语言是,这个规则并不完全适应。

对于内置类型来说,更加高效。

的高效编程守则视情况而变化,取决于你使用的哪个部分。

回到前面的问题:

对于内置(也就)类型而言,更加高效。

对于自定义类型的对象,更加高效

对于迭代器和函数对象,它们其实是C指针,因此更加高效

思考

为什么对于内置类型而言更加高效?

来源

声明,文章内容为读书笔记整理,仅供学习交流使用。

原书内容更加精彩详实,请大家购买正版书籍。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190203G0GIBB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券