inl 文件是內聯函數的源文件。內聯函數通常在c++頭文件中實現,但有的時候內聯函數較多或者出于一些別的考慮(使頭文件看起來更簡潔等),往往會將這部分具體定義的代碼添加到INL文件中,然后在該頭文件的末尾將其用#include引入。由此也可以看到inl文件的例外一個用法的影子——模板函數、模板類的定義代碼的存放。 對于比較大的工程來說,出于管理方面的考慮,模板函數、模板類的聲明部分一般存放在一個或少數幾個文件中,而將其定義部分存放在inl文件中,然后在相應的頭文件中包含進來。
Google代碼規范中也談到了inl文件,需要閱讀的讀者可以從這里閱讀Google代碼規范,http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml 簡單框架如下: