C++中的INL(转)
inl 文件是内联函数的源文件。
内联函数通常在c++头文件中实现,但有的时候内联函数较多或者出于一些别的考虑(使头文件看起来更简洁等),
往往会将这部分具体定义的代码添加到INL文件中,然后在该头文件的末尾将其用#include引入。
由此也可以看到inl文件的例外一个用法的影子——模板函数、模板类的定义代码的存放。
对于比较大的工程来说,出于管理方面的考虑,模板函数、模板类的声明部分一般存放在一个或少数几个文件中,而将其定义部分存放在inl文件中,然后在相应的头文件中包含进来。
简单框架如下:
1 // .h文件 2 template<class T1,class T2> 3 class CTemplateClass 4 { 5 public: 6 CTemplateClass(); 7 virtual ~CTemplateClass(); 8 BOOL getInfo(CStringArray& user BaseInfoAry); 9 }; 10 11 // .inl文件 12 template<class T1,class T2> 13 CTemplateClass<T1,T2>::CTemplateClass() 14 { 15 } 16 template<class T1,class T2> 17 CTemplateClass<T1,T2>::~CTemplateClass() 18 { 19 } 20 template<class T1,class T2> 21 BOOL CTemplateClass<T1,T2>::getInfo(CStringArray& userBaseInfoAry) 22 { 23 T1 arg1; 24 T2 arg2; 25 return TRUE; 26 }
联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2015-08-14 Palindrome Number