我正在阅读一本较旧的数据结构书籍,它说当你进行模板类编程时,应该在.h文件末尾包含.cpp文件。就我所知,对于任何模板类成员函数,你都必须在.h文件中完整实现函数 - 这是由于模板编译器的工作方式所致。我所学过的唯一可以放在模板类实现文件中的函数是模板特化函数,即:template<> Class::function_name()。为什么这本书要建议在.h文件末尾包含.cpp文件呢?这只是一种将实现分开到不同文件中并使它们与头文件一起编译的方法吗?如果是这样,那么真正的特化应该放在哪里呢?我猜它们不能放在被头文件包含的.cpp文件中。