382_使用Arduino学习C++-namespace的用法
全部学习笔记汇总:https://github.com/GreyZhang/Arduino_Cpp
之前选择了一本不算是很合适的学习教程,《像计算机科学家一样思考C++》版本。可能这本书的主要目的还是在于教人一套思考的方法而不是教授C++编程本身。
之所以转过来学习C++,主要是我在看Arduino库文件设计的时候看到了一个namespace就完全蒙圈了,不知其意。
重新换了一份教程,C++之父编写的。开篇不远,找到了namepsace的用法。这个namespace存在的主要目的是解决命名冲突问题,简化部分模块的设计。
只要变量、函数等不在同一个namespace中,它们就不会产生冲突。我在Arduino的环境中做了简单的一个例子实现:
软件顺利编译通过,运行结果如下:
从编译运行结果看,在软件中定义了两个namespace,而其中定义了相同名称的变量和函数,但是彼此没有任何冲突。在样,在于模块化并且防止与其他模块冲突的时候还是有可预见的优势的。