前言
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指针,因此更加高效
思考
为什么对于内置类型而言更加高效?
来源
声明,文章内容为读书笔记整理,仅供学习交流使用。
原书内容更加精彩详实,请大家购买正版书籍。
领取专属 10元无门槛券
私享最新 技术干货