世界真的太真实与可怕,现实到毫无理想。
4一半概念
4.1 Namespace
不同空间可能使用相同的标识符(identifer),我理解为了区分相同标识符,用namespace给他们各自找了不同的爹。
参考:https://blog.csdn.net/weixin_42018112/article/details/95791030
Modularization(模块化)给与cpp更多的意义;只了解一个函数的接口的具体定义,而不了解它是怎样实现的,就能够很好的使用它。
如果这样的部件也像函数那样有一个起包装作用的接口,也同样可以只需要了解接口,而不需要了解实现,就能够很好的使用它。
若程序中的一个部件具有明确的边界,能够实现接口与实现的分离,并对它的用户而言在使用时只需关心其接口而不管其实现者,就叫做模块(Modularization)。
实现魔偶快的接口与实现的分离,需要程序设计语言提供相应的支持机制。C++提供的支持机制是:
- Namespace
- Class
模块用接口隐蔽了数据和函数的处理细节(我也叫做封装,Encapsulation),使得模块可以在保持接口不变的前提下,改变数据的结构和函数的处理细节。
参考:C++中的namespace机制的一些个人理解 - 简书 (jianshu.com)
C++中namespace理解_Vic_Hao的博客-CSDN博客_namespace
4.2 头文件:
补充:
GCC编译参数:GCC编译选项参数_楓潇潇的博客-CSDN博客_nostdlib参数
Linux tool :1. gdb 调试利器 — Linux Tools Quick Tutorial (linuxtools-rst.readthedocs.io)