C++中的INL


inl 文件是内联函数的源文件。内联函数通常在c++头文件中实现,但有的时候内联函数较多或者出于一些别的考虑(使头文件看起来更简洁等),往往会将这部分具体定义的代码添加到INL文件中,然后在该头文件的末尾将其用#include引入。由此也可以看到inl文件的例外一个用法的影子——模板函数、模板类的定义代码的存放。对于比较大的工程来说,出于管理方面的考虑,模板函数、模板类的声明部分一般存放在一个或少数几个文件中,而将其定义部分存放在inl 文件中,然后在相应的头文件中包含进来。

//CTemplateClass.h
#include <iostream>
template<class T1,class T2>
class CTemplateClass
{
	public:
		CTemplateClass();
		virtual ~CTemplateClass();
};
#include "CTemplateClass.inl"



//CTemplateClass.inl
template<class T1,class T2>
CTemplateClass<T1,T2>::CTemplateClass()
{

}

template<class T1,class T2>
CTemplateClass<T1,T2>::~CTemplateClass()
{
	
}


你可能感兴趣的:(C++,c,C#)