小白学习大型C++源码项目系列之开篇词(干货满满)

迟到的开篇词,好饭不怕晚,下面的可全是吐血总结啊!

先来思考什么是大型项目?无非就是由很多文件而已,一个文件负责一个功能;那么问题来了文件和文件之间是怎么联系的呢?答案就是头文件,如果我想调用另一个文件那我就在当前文件中包含另一个文件的头文件就可以了;现在来看文件是由什么组成的,答案就是一个个个类,对于面相对象编程而言一切皆对象,类是对象的抽象形式,类包含了函数和变量,如果说文件完成了一个大功能,那么类就完成了一个小功能。

通过publick和privte关键字定义函数和变量的属性来控制别的类可以访问调用的范围,比如说我想让你知道我是怎样完成的我就把我的函数和变量公开,如果我不想让你知道,我就设置成private,换句话说,你不需要知道我具体怎么做的,你给我一个数据,我返回给你一个结果就好了。为了便于管理类,一般把类的声明放到头文件里面,具体实现放在源文件里面。有的时候又要一个类会有好多函数和变量,为了使这个类不那么臃肿,于是就在类里面先声明一个函数,在类的外面去实现这个函数,为了和别的函数区别开要加上一个类的前缀形如"class::"的东西。那人都是不满足的,现在你嫌弃这个类完成的功能不好了,但是有一部分做的工作还是不错的,想攒钱不足的地方该怎么办呢?聪明的语言设计者们就设计了继承,继承就是我在声明定义一个新的功能类,声明的时候我加上形如"classs:publick class"后面的class就是我继承的类,下面就实现一些函数和函数要用到变量。

我们现在来说小的功能单元函数,什么是函数?函数就是输入数据,经过计算,输出一个数据,函数的操作对象就是数据,数据的形式有基本变量和复合变量。

终于说到变量了,变量的定义形式就有很多,常见的声明一个变量就是"int a;"如果有一个变量一生只有一个值就加上const关键字去声明,那如果有多个变量一生也只有一个值呢,那就会有枚举来实现了,如果更高级一点的就是类了,类理解为一个多种数据和函数复合而成的大变量,进而我们也可把文件抽象成一个更大的变量,我们的程序是什么?就是输入变量就是数据,然后输出变量和数据啊!到这了整个流程行成了一个闭环,像状态态机,图灵机一样,简单理解就是一个永动机,一直运转下去。

最后总结一下那些所谓的高级技巧都是为了更好的处理"数据变量"的,都是锦上添花!

可以结合下面文章的顺序去细化理解

划分功能范围相关的文章:
小白学习大型C++源码项目系列之为什么要用"namesapce"命名空间
小白学习大型C++源码项目系列之class类定义
小白学习大型C++源码项目系列之继承和派生
小白学习大型C++源码项目系列之函数


"数据变量"相关的文章:
小白学习大型C++源码项目系列之内存分区
小白学习大型C++源码项目系列之枚举类(enum class或是enum struct)
小白学习大型C++源码项目系列之为什么要用宏定义
小白学习大型C++源码项目系列之yaml文件


整体运行机制相关文章:
小白学习大型C++源码项目系列之状态机和图灵机


项目文件编译相关的文章:
小白学习大型C++源码项目系列之编译器的工作过程
小白学习大型C++源码项目系列之为什么要用CMakeLists.txt
小白学习大型C++源码项目系列之为什么要用Makefile
小白学习大型C++源码项目系列之GDB调试

猜你喜欢

转载自blog.csdn.net/qq_21950671/article/details/105593152