那天,风和日丽。
于是,我开始了模板类的学习。
还记得,写的是模板类的顺序表和双向链表。
但是,编好程之后,程序编译能通过,但是却无法运行。
链接错误。额,那就是间接表明并不是代码出现了什么错误。
那那那那,问题出在哪里呢?
那就是
。
。
。
。
。
模板类的编写不支持分离编译
什么是分离编译?
- 在了解为什么模板类不支持分离编译之前,我们先来了解一下什么是分离编译。
- 一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件连接起来形成单一的可执行文件的过程,我们将其称之为分离编译。
- 简要来说,分离编译模式是C/C++组织源代码和生成可执行文件的一种方式。
为什么要进行分离编译?
- 从编程入门的那一刻,我们便被无数的老师和知乎上或者csdn上的大神教导说要形成良好的编程风格。
- 良好的编程风格在这里难以一言以蔽之,常见的有规范化的使用{}、()等符号,该空行的地方要空行之类的。
- 而分离编译呢,也可以归属在良好的编程行为之列。
- 即,当我们在编写一个工程类项目的时候,我们常常会选择将项目内功能性函数的声明和实现分离开来。
- 这样,有助于我们更好的浏览项目内实现了什么功能,并能够有条理的对函数进行归类维护等行为。
- 所以我们常常会进行分离编译。
- 而在实际开发大型项目的时候,不可能把所有的源程序都放在一个头文